რას აკეთებს Date_trunc SQL-ში?
რას აკეთებს Date_trunc SQL-ში?

ვიდეო: რას აკეთებს Date_trunc SQL-ში?

ვიდეო: რას აკეთებს Date_trunc SQL-ში?
ვიდეო: How to use the DATE_TRUNC Function in SQL (vs. TO_CHAR) 2024, მაისი
Anonim

The date_trunc ფუნქცია წყვეტს TIMESTAMP ან INTERVAL მნიშვნელობას თარიღის მითითებულ ნაწილზე დაყრდნობით, მაგალითად, საათს, კვირას ან თვეს და აბრუნებს შეკვეცილ დროის ნიშანს ან ინტერვალს სიზუსტის დონით.

აქედან, რა არის Datetrunc?

DATETRUNC (ნაწილის_თარიღი, თარიღი, [კვირის_დაწყების]) კვეთს მითითებულ თარიღს თარიღის_ნაწილით მითითებულ სიზუსტემდე. ეს ფუნქცია აბრუნებს ახალ თარიღს. მაგალითად, თარიღის შეკვეცას, რომელიც თვის შუაშია თვის დონეზე, ეს ფუნქცია აბრუნებს თვის პირველ დღეს.

შემდგომში, კითხვაა, როგორ მივიღო დროში განსხვავება PostgreSQL-ში?

  1. თუ გსურთ შედეგები საათებში, თვეებში, დღეებში, საათებში და ა.შ.: SELECT age(timestamp1, timestamp2);
  2. თუ გსურთ შედეგები მხოლოდ წამებში: SELECT EXTRACT(EPOCH FROM timestamp 'timestamp1') - EXTRACT(EPOCH FROM timestamp 'timestamp2');
  3. ან ჩამოსხმის შემდეგნაირად:

ანალოგიურად შეიძლება იკითხოთ, რა არის ინტერვალი SQL-ში?

< ინტერვალი > ეხება დროის ნამატებს ორ თარიღს შორის გასაზომად. მაგალითად, საათების ან დღეების ფრაქციული მნიშვნელობის დასადგენად დაწყების თარიღსა და დასრულების თარიღს შორის. მოქმედი მნიშვნელობებია მეორე, წუთი, საათი, დღე და თვე.

რა არის Postgres Sysdate?

SYSDATE მხოლოდ Oracle-ის ფუნქციაა. ANSI სტანდარტი განსაზღვრავს current_date ან current_timestamp-ს, რომელიც მხარდაჭერილია პოსტგრესი და დოკუმენტირებულია სახელმძღვანელოში: postgresql .org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT. (Btw: Oracle მხარს უჭერს CURRENT_TIMESTAMP-საც)

გირჩევთ: