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

Chức năng định dạng ngày của SQL Server

Trong SQL Server, kiểu dữ liệu DATETIME được lưu trữ dưới dạng 2 số nguyên 4 byte để không có định dạng cụ thể như thế này.

Nếu bạn muốn trả lại ngày ở một định dạng cụ thể, bạn cần CHUYỂN ĐỔI nó thành VARCHAR với số nhận dạng định dạng thích hợp được chỉ định.

Nếu bạn có ngày giờ trong VARCHAR và muốn lưu trữ thời gian đó trong trường DATETIME trong SQL Server, thì bạn nên đảm bảo rằng bạn chuyển giá trị đó sang SQL ở định dạng sẽ luôn được diễn giải một cách an toàn. ví dụ. Định dạng dd / mm / YYYY không an toàn vì tùy thuộc vào cài đặt, nó có thể được coi là mm / dd / yyyy khi chuyển sang. Các định dạng an toàn là:

yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm

ví dụ.

INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe

Cập nhật:
Khi bạn CHỌN một trường DATETIME (GETDATE (), trường, biến ....), những gì bạn thấy trong SSMS là một giá trị được định dạng vì đây là giá trị hữu ích cho bạn, thay vì hiển thị đó là biểu diễn 8byte nội bộ thực tế .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phát hiện các phạm vi ngày liên tiếp bằng SQL

  2. Giá trị cột nhận dạng máy chủ SQL bắt đầu từ 0 thay vì 1

  3. Khắc phục sự cố khi làm việc với ngày và giờ trong SQL Server

  4. Cách ánh xạ một trường thực thể có tên là một từ dành riêng trong JPA

  5. Sự khác biệt giữa bảng tạm thời và biến bảng trong SQL Server là gì?