Skip to main content

4.1. Hàm thời gian

4.1.1.    ADD_SECOND

Thêm một khoảng thời gian (tính bằng giây) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_SECOND (truong_du_lieu_thoi_gian DATETIME, gia tri INT) => DATETIME

·       truong_du_lieu_thoi_gian:truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số giây cần thêm.

Ví dụ:

SELECT ADD_SECOND(’15-08-2019 10:01:30’,30)
-- 15-08-2019 10:02:00

4.1.2.    ADD_MINUTE

Thêm một khoảng thời gian (tính bằng phút) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_MINUTE (truong_du_lieu_thoi_gian DATETIME, gia tri INT) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số phút cần thêm.

Ví dụ:

SELECT ADD_MINUTE(’15-08-2019 10:01:30’,30)

4.1.3.    ADD_HOUR

Thêm một khoảng thời gian (tính bằng giờ) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_HOUR (truong_du_lieu_thoi_gian DATETIME, gia tri INT) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số giờ cần thêm.

Ví dụ:

SELECT ADD_HOUR(’15-08-2019 10:01:30’,5)
-- 15-08-2019 15:01:30

4.1.4.    ADD_DAY

Thêm một khoảng thời gian (tính bằng ngày) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_DAY (truong_du_lieu_thoi_gian DATETIME, gia tri INT) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số ngày cần thêm.

Ví dụ:

SELECT ADD_DAY(’15-08-2019 10:01:30’,30)
-- 15-08-2019 10:01:30

4.1.5.    ADD_WEAK

Thêm một khoảng thời gian (tính bằng tuần) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_WEAK (truong_du_lieu_thoi_gian DATETIME, gia tri INT) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số tuần cần thêm.

Ví dụ:

SELECT ADD_WEAK(’15-08-2019 10:01:30’,30)
-- 15-08-2019 10:02:00

4.1.6.    ADD_MONTH

Thêm một khoảng thời gian (tính bằng tháng) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_MONTH (truong_du_lieu_thoi_gian DATETIME, gia tri INT) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số tháng cần thêm.

Ví dụ:

SELECT ADD_MONTH(’15-08-2019 10:01:30’,6)
-- 15-12-2019 10:01:30

4.1.7.    ADD_QUARTER

Thêm một khoảng thời gian (tính bằng quý) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_QUARTER (truong_du_lieu_thoi_gian DATETIME, gia_tri INT) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số quý cần thêm.

Ví dụ:

SELECT ADD_QUARTER(’15-08-2019 10:01:30’,1)
-- 15-11-2019 10:01:30

4.1.8.    ADD_YEAR

Thêm một khoảng thời gian (tính bằng năm) vào một trường dữ liệu ngày tháng.

Cú pháp:

ADD_YEAR (truong_du_lieu_thoi_gian DATETIME, gia tri INT) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

·       gia_tri: Số năm cần thêm.

Ví dụ:

SELECT ADD_YEAR(’15-08-2019 10:01:30’,5)
-- 15-08-2024 10:01:30

4.1.9.    SECOND

Trả về giá trị giây(từ 0 -59) trong trường dữ liệu thời gian.

Cú pháp:

SECOND (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT SECOND(’15-08-2019 10:01:30’)
-- 30

4.1.10. MINUTE

Trả về giá trị phút (từ 0 -59) trong trường dữ liệu thời gian.

Cú pháp:

MINUTE (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT MINUTE(’15-08-2019 10:01:30’)
-- 1

4.1.11. HOUR

Trả về giá trị giờ (từ 0- 23) trong trường dữ liệu thời gian.

Cú pháp:

HOUR (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT HOUR(’15-08-2019 10:01:30’)
-- 10

4.1.12. DAY

Trả về giá trị ngày (từ 1- 31) trong trường dữ liệu thời gian.

Cú pháp:

DAY (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT DAY(’15-08-2019 10:01:30’)
-- 15

4.1.13. MONTH

Trả về giá trị tháng (từ 1- 12) trong trường dữ liệu thời gian.

Cú pháp:

MONTH (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT SECOND(’15-08-2019 10:01:30’)
-- 8

4.1.14. QUARTER

Trả về giá trị quý (từ 1- 4) trong trường dữ liệu thời gian.

Cú pháp:

QUARTER (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT QUARTER(’15-08-2019 10:01:30’)
-- 3

4.1.15. YEAR

Trả về giá trị năm trong trường dữ liệu thời gian.

Cú pháp:

YEAR (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT YEAR(’15-08-2019 10:01:30’)
-- 2019

4.1.16. LASTDAY

Trả về ngày cuối cùng trong tháng với trường dữ liệu thời gian.

Cú pháp:

LASTDAY (truong_du_lieu_thoi_gian DATETIME) => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT LASTDAY(’15-08-2019 10:01:30’)
-- 31-08-2019 10:01:30

4.1.17. TRUNC_SECOND

Trả về giá trị thời gian với độ chính xác được tính theo giây.

Cú pháp:

TRUNC_SECOND (truong_du_lieu_thoi_gian DATETIME)  => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_SECOND(’15-08-2019 10:01:30’)
-- 15-08-2019 10:01:30

4.1.18. TRUNC_MINUTE

Trả về giá trị thời gian với độ chính xác được tính theo phút.

Cú pháp:

 TRUNC_ MINUTE (truong_du_lieu_thoi_gian)  => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_ MINUTE(’15-08-2019 10:01:30’)
-- 15-08-2019 10:01:00

4.1.19. TRUNC_HOUR

Trả về giá trị thời gian với độ chính xác được tính theo giờ.

Cú pháp:

 TRUNC_HOUR (truong_du_lieu_thoi_gian DATETIME)  => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_HOUR(’15-08-2019 10:01:30’)
-- 15-08-2019 10:00:00

4.1.20. TRUNC_DAY

Trả về giá trị thời gian với độ chính xác được tính theo ngày.

Cú pháp:

 TRUNC_DAY (truong_du_lieu_thoi_gian DATETIME)  => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_DAY (’15-08-2019 10:01:30’)
-- 15-08-2019 00:00:00

4.1.21. TRUNC_WEEK

Trả về giá trị thời gian với độ chính xác được tính theo tuần.

Cú pháp:

 TRUNC_WEEK (truong_du_lieu_thoi_gian DATETIME)  => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_WEEK(’15-08-2019 10:01:30’)
-- 04-08-2019 00:00:00

4.1.22. TRUNC_MONTH

Trả về giá trị thời gian với độ chính xác được tính theo tháng.

Cú pháp:

 TRUNC_MONTH (truong_du_lieu_thoi_gian DATETIME)  => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_MONTH(’15-08-2019 10:01:30’)
-- 01-08-2019 00:00:00

4.1.23. TRUNC_QUARTER

Trả về giá trị thời gian với độ chính xác được tính theo quý.

Cú pháp:

 TRUNC_QUARTER (truong_du_lieu_thoi_gian DATETIME)  =>  DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_QUARTER(’15-08-2019 10:01:30’)
-- 01-07-2019 00:00:00

4.1.24. TRUNC_YEAR

Trả về giá trị thời gian với độ chính xác được tính theo năm.

Cú pháp:

 TRUNC_YEAR (truong_du_lieu_thoi_gian DATETIME)  => DATETIME

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT TRUNC_YEAR(’15-08-2019 10:01:30’)
-- 01-01-2019 00:00:00

4.1.25. DOM

Trả về thứ tự ngày trong tháng từ một biểu thức thời gian.

Cú pháp:

 DOM (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT DOM(’15-08-2019 10:01:30’)
-- 15

4.1.26. DOW

Trả về thứ tự ngày trong tuần từ một biểu thức thời gian.

Cú pháp:

DOW (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

SELECT DOW(’15-08-2019 10:01:30’)
-- 4(15-08-2019 là thứ 5, 4 là thứ tự của thứ 5 trong tuần)

4.1.27. DOY

Trả về thứ tự ngày trong năm từ một biểu thức thời gian.

Cú pháp:

DOY (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

SELECT DOY(’15-08-2019 10:01:30’)
-- 227(Năm 2019 có 365 ngày, 15-08-2019 là ngày thứ 227)

4.1.28. WOY

Trả về thứ tự tuần trong năm từ một biểu thức thời gian.

Cú pháp:

WOY (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

SELECT WOY(’15-08-2019 10:01:30’)
-- 33(Một năm có 54 tuần, ngày 15-08-2019 là tuần thứ 33 trong năm)

4.1.29. YWEEK

Trả về thứ tự tuần trong năm từ một biểu thức thời gian.

Cú pháp:

YWEEK (truong_du_lieu_thoi_gian DATETIME) => INT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT YWEEK(’15-08-2019 10:01:30’)
-- 33

4.1.30. EPOCH

Tính số giây đã trôi qua từ một mốc dữ liệu thời gian so với ngày 1 tháng 1 năm 1970 lúc 00:00:00 giờ UTC.

Cú pháp:

EPOCH (truong_du_lieu_thoi_gian DATETIME)  => BIGINT

·       truong_du_lieu_thoi_gian: Biểu thức hoặc cột trả về kiểu dữ liệu thời gian/ngày tháng.

Ví dụ:

SELECT EPOCH(’24/06/2024 10:01:30’)
-- 1719223290

SELECT EPOCH(’01/01/1970 00:00:00’)
-- 0