SQL và các hàm xử lý kiểu dữ liệu Date thông dụng

Các hàm xử lý kiểu dữ liệu Date thông dụng trong SQL

Trong quá trình làm việc với cơ sở dữ liệu, kiểu dữ liệu Date là một thành phần không thể thiếu, đặc biệt khi cần phân tích và xử lý thông tin theo thời gian. SQL cung cấp nhiều hàm hỗ trợ thao tác với ngày tháng như trích xuất, tính toán, định dạng lại dữ liệu. Trong bài viết này, UniTrain sẽ giới thiệu đến bạn những hàm ngày tháng phổ biến trong SQL cùng ví dụ minh họa thực tế, giúp bạn áp dụng hiệu quả vào công việc. 

Lấy ngày hiện tại

Lấy ngày và giờ hiện tại của hệ thống là một yêu cầu phổ biến trong các giao dịch, xử lý dữ liệu hoặc lên lịch công việc. 

GETDATE()

Hàm GETDATE() dùng để lấy ngày và giờ hiện tại từ máy chủ đang chạy. Nó trả về kết quả dưới dạng theo định dạng 'YYYY-MM-DD hh:mm:ss.mmm', thời gian mà hàm trả về chính là thời gian của hệ điều hành máy chủ.

SELECT GETDATE() — 2025-05-12 04:01:43.573

Các hàm tính toán ngày tháng

DATEADD

Hàm DATEADD được sử dụng để thao tác với giá trị ngày và giờ dựa trên các tham số được chỉ định. Chúng ta có thể cộng hoặc trừ một giá trị số vào một ngày giờ cụ thể để tính các mốc thời gian trong tương lai hoặc quá khứ.

DATEADD (datepart, number, date)

 

  • datepart là phần của ngày (ví dụ: năm, tháng, ngày…) mà bạn muốn cộng thêm giá trị số vào.
  • number là một giá trị số nguyên sẽ được cộng (hoặc trừ nếu âm) vào phần datepart đã chỉ định.
  • date là giá trị ngày cụ thể mà bạn muốn cộng thêm (hoặc trừ đi) số lượng đã chỉ định.
-- Thêm 7 ngày vào ngày hiện tại
SELECT DATEADD(DAY, 7, GETDATE()) AS NgaySau7Ngay;

-- Trừ 2 tháng từ ngày hiện tại
SELECT DATEADD(MONTH, -2, GETDATE()) AS HaiThangTruoc;

-- Thêm 1 năm vào một ngày cụ thể
SELECT DATEADD(YEAR, 1, '2025-01-01') AS MotNamSau;

 

Hàm DATEDIFF() dùng để tính khoảng cách giữa hai mốc thời gian, và nó sẽ trả về một con số nguyên (có thể âm hoặc dương). Đơn vị của kết quả (ngày, tháng, năm, giờ…) phụ thuộc vào tham số datepart mà bạn chọn.

DATEDIFF(datepart, start_date, end_date)

 

  • datepart: Đơn vị thời gian mà bạn muốn tính sự khác biệt, như là năm, tháng, ngày, giờ, phút, giây, v.v. 
  • startdate: Ngày bắt đầu (hoặc datetime, thời gian, timestamp, v.v.) 
  • enddate: Ngày kết thúc (hoặc datetime, thời gian, timestamp, v.v.) 
SELECT DATEDIFF(year,'2015-01-01','2018-01-01');  --3

SELECT DATEDIFF(month,'2015-01-01','2018-01-01'); --36

ISDATE() 

Hàm ISDATE() được sử dụng để kiểm tra xem một giá trị phải một giá trị hợp lệ của kiểu dữ liệu DATE, TIME hoặc DATETIME hay không. 

ISDATE(expression)

 

  • expression: Là chuỗi ký tự hoặc biểu thức có thể giải quyết thành chuỗi ký tự. Độ dài của chuỗi này phải nhỏ hơn 4,000 ký tự.
  • expression có thể là giá trị của kiểu dữ liệu.
  • expression không thể là giá trị của kiểu DATETIME hoặc SMALLDATETIME.
  • Nếu expression là giá trị DATETIME2, hàm sẽ trả về 0.

Lưu ý quan trọng: 

  • Đối với kiểu dữ liệu DATE: Khoảng giá trị có thể là từ 0001-01-01 đến 9999-12-31.
  • Đối với kiểu dữ liệu DATETIME: Khoảng giá trị là từ 1753-01-01 đến 9999-12-31.
SELECT ISDATE(‘2025-05-12’) AS IsValidDate; — Kết quả: 1 (Ngày hợp lệ)

Kết luận

Trong quá trình làm việc với cơ sở dữ liệu, việc xử lý và thao tác với dữ liệu ngày tháng là một phần quan trọng, giúp phân tích, tính toán, và lên kế hoạch cho các công việc liên quan đến thời gian. SQL cung cấp nhiều hàm hữu ích để giúp người dùng dễ dàng thao tác với ngày tháng.

Sử dụng thành thạo các hàm này giúp tối ưu hóa quá trình làm việc với dữ liệu ngày tháng trong SQL, hỗ trợ người dùng trong việc lập lịch, phân tích dữ liệu thời gian, và tính toán các khoảng cách giữa các mốc thời gian một cách chính xác.

Theo dõi Fanpage UniTrain để khám phá thêm nhiều thông tin hữu ích nhé.

Xem thêm

Ứng dụng SQL trong xử lý dữ liệu
Phân biệt WHERE và HAVING trong SQL
Xử lý các giá trị NULL với ISNULL và COALESCE trong SQL

Bài viết liên quan
Field Parameters – Bí kíp tùy chỉnh báo cáo linh hoạt trên Power BI

Trong trực quan hóa dữ liệu, Power BI của Microsoft đã thay đổi cách người dùng khai thác và tương tác với thông tin. Một trong những tính năng nổi bật

Xem thêm
Kích hoạt Data Analysis ToolPak trong Excel

Bạn muốn phân tích dữ liệu trong Excel nhưng không tìm thấy những công cụ như t-test, ANOVA, hay Regression ở đâu? Đừng lo, chúng không biến mất đâu – chỉ là

Xem thêm
[RECAP] Training 4: How to Write M&A Buy-Sell Recommendations – Cuộc thi Sinh viên với Tài chính mùa 13 (FSC13) – CLB Tài chính – Chứng khoán SeSC – Trường Đại học Ngoại Thương CSII TP. HCM (FTU2)

Chiều ngày 28/04/2025, buổi Training 4 dành cho Top 8 đội thi xuất sắc nhất cuộc thi Sinh viên với Tài chính mùa 13 (FSC13) đã diễn ra trực tiếp tại

Xem thêm
Phân biệt hàm SUM, SUMX và CALCULATE trong Power BI

1. Giới thiệu Trong Power BI, DAX (Data Analysis Expressions) cung cấp nhiều hàm để tổng hợp và phân tích dữ liệu. Ba trong số các hàm quan trọng nhất là

Xem thêm