Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

GETDATE () Ví dụ trong SQL Server (T-SQL)

GETDATE() hàm trả về ngày và giờ hiện tại dưới dạng datetime giá trị. Giá trị này được lấy từ hệ điều hành của máy tính mà phiên bản SQL Server đang chạy.

Bài viết này cung cấp các ví dụ về GETDATE() , bao gồm cả cách bạn có thể sử dụng nó với các chức năng khác để trả lại giá trị mà bạn quan tâm.

Cú pháp

Đầu tiên, đây là cú pháp:

GETDATE ( )

Vì vậy, bạn chỉ cần gọi hàm này mà không cần bất kỳ đối số nào.

Ví dụ

Đây là ví dụ cơ bản về việc sử dụng SELECT câu lệnh để trả về ngày và giờ hiện tại từ GETDATE() :

SELECT GETDATE() AS Result;

Kết quả:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-15 23:54:42.013 |
+-------------------------+

Vì vậy, như đã đề cập, nó trả về ngày giờ giá trị. Nếu bạn muốn một giá trị có độ chính xác phân số giây nhiều hơn, hãy sử dụng SYSDATETIME() thay thế. Hàm đó trả về datetime2 giá trị.

Trích xuất một phần của ngày

Nếu bạn chỉ muốn một phần của giá trị trả về, bạn có thể sử dụng DATEPART() để chỉ trả lại phần ngày / giờ mà bạn quan tâm.

Ví dụ:

SELECT DATEPART(month, GETDATE()) AS Result;

Kết quả:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Đôi khi có nhiều cách để nhận được cùng một kết quả trong SQL Server. Đây là một ví dụ khác sử dụng MONTH() chức năng:

SELECT MONTH(GETDATE()) AS Result;

Kết quả:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Cả hai hàm này đều trả về tháng hiện tại. Nhưng chúng trả về chúng dưới dạng một số nguyên đại diện cho số tháng.

Nếu bạn muốn tháng tên thay vào đó, bạn có thể sử dụng DATENAME() :

SELECT DATENAME(month, GETDATE()) AS Result;

Kết quả:

+----------+
| Result   |
|----------|
| June     |
+----------+

Định dạng ngày

Bạn cũng có thể sử dụng các hàm T-SQL khác để định dạng ngày tháng theo yêu cầu.

Đây là một ví dụ về việc sử dụng FORMAT() chức năng định dạng kết quả:

SELECT 
    FORMAT(GETDATE(), 'd', 'en-US') AS 'd, en-US',
    FORMAT(GETDATE(), 'd', 'en-gb') AS 'd, en-gb',
    FORMAT(GETDATE(), 'D', 'en-US') AS 'D, en-US',
    FORMAT(GETDATE(), 'D', 'en-gb') AS 'D, en-gb';

Kết quả:

+------------+------------+-----------------------+--------------+
| d, en-US   | d, en-gb   | D, en-US              | D, en-gb     |
|------------+------------+-----------------------+--------------|
| 6/15/2018  | 15/06/2018 | Friday, June 15, 2018 | 15 June 2018 |
+------------+------------+-----------------------+--------------+

Các ví dụ khác tại Cách định dạng ngày và giờ trong SQL Server.

Tăng giá trị và Tìm sự khác biệt

Bạn có thể sử dụng các hàm như DATEDIFF() để trả lại sự khác biệt giữa ngày hiện tại và một ngày khác.

Đây là một ví dụ về việc sử dụng DATEADD() để thêm một tháng vào ngày hiện tại, sau đó tìm ra sự khác biệt về ngày:

DECLARE @date1 datetime2 = GETDATE();
DECLARE @date2 datetime2 = DATEADD(month, 1, GETDATE());
SELECT DATEDIFF(day, @date1, @date2) AS Result;

Kết quả:

+----------+
| Result   |
|----------|
| 30       |
+----------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về Chuyển đổi "date" thành "smalldatetime" trong SQL Server (T-SQL)

  2. Tạo chế độ xem với mệnh đề ORDER BY

  3. Giới hạn phiên người dùng đồng thời cho một đăng nhập cụ thể trong SQL Server

  4. Tìm hiểu phân vùng nào mà một giá trị nhất định sẽ được ánh xạ tới trong SQL Server (T-SQL)

  5. 3 cách đếm số lượng bảng hệ thống trong cơ sở dữ liệu máy chủ SQL