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