Date_trunc нь SQL дээр юу хийдэг вэ?
Date_trunc нь SQL дээр юу хийдэг вэ?

Видео: Date_trunc нь SQL дээр юу хийдэг вэ?

Видео: Date_trunc нь SQL дээр юу хийдэг вэ?
Видео: Юлька_Рассказ_Слушать 2024, May
Anonim

The date_trunc Энэ функц нь цаг, долоо хоног, сар гэх мэт тодорхой огнооны хэсэгт үндэслэн TIMESTAMP эсвэл INTERVAL утгыг тайрч, таслагдсан цагийн тэмдэг эсвэл интервалыг нарийвчлалын түвшинд буцаана.

Үүний Datetrunc гэж юу вэ?

DATETRUNC (огноо_хэсэг, огноо, [долоо хоногийн_эхлэх]) Заасан огноог огнооны_хэсэгт заасан нарийвчлалтайгаар багасгана. Энэ функц нь шинэ огноог буцаана. Жишээлбэл, та сарын дундуур байгаа огноог сарын түвшинд хасах үед энэ функц нь сарын эхний өдрийг буцаана.

Дараа нь асуулт бол PostgreSQL дээр цагийн зөрүүг хэрхэн олж авах вэ?

  1. Хэрэв та үр дүнг цаг, сар, өдөр, цаг гэх мэтээр авахыг хүсвэл: SELECT age(timestamp1, timetamp2);
  2. Хэрэв та үр дүнг хэдхэн секундын дотор авахыг хүсвэл: SELECT EXTRACT(EPOCH FROM timetamp 'timestamp1') - EXTRACT(EPOCH FROM timetamp 'timestamp2');
  3. Эсвэл үүнийг дараах байдлаар дамжуулах:

Үүний нэгэн адил SQL-д интервал гэж юу вэ?

нь < интервал > хоёр огнооны хооронд хэмжих цагийн өсөлтийг хэлнэ. Жишээлбэл, эхлэх огноо ба дуусах огнооны хоорондох цаг эсвэл өдрийн бутархай утгыг тодорхойлох. Хүчинтэй утга нь секунд, минут, цаг, өдөр, сар юм.

Postgres Sysdate гэж юу вэ?

SYSDATE нь зөвхөн Oracle функц юм. ANSI стандарт нь дэмждэг одоогийн_огноо эсвэл одоогийн_цаг хугацааны тэмдгийг тодорхойлдог Postgres гарын авлагад баримтжуулсан: postgresql .org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT. (Btw: Oracle CURRENT_TIMESTAMP-г бас дэмждэг)

Зөвлөмж болгож буй: