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

Chèn varchar đã chuyển đổi vào sql datetime

Nếu bạn phải sử dụng định dạng ngày dựa trên chuỗi, bạn nên chọn một định dạng an toàn và hoạt động trong mọi phiên bản SQL Server, bất kể định dạng ngày, ngôn ngữ và cài đặt khu vực.

Định dạng đó được gọi là ISO-8601 định dạng và đó là

YYYYMMDD      (note: **NO** dashes!)

hoặc

YYYY-MM-DDTHH:MM:SSS

trong một DATETIME cột.

Vì vậy, thay vì

Convert(datetime, '28/11/2012', 103)

bạn nên sử dụng

CAST('20121128' AS DATETIME)

và sau đó bạn sẽ ổn.

Nếu bạn đang sử dụng SQL Server 2008 - bạn cũng có thể xem xét bằng cách sử dụng DATE (thay vì DATETIME ) cho những trường hợp bạn chỉ cần ngày (không cần phần thời gian). Điều đó thậm chí còn dễ dàng hơn so với việc sử dụng DATETIME và luôn có phần thời gian là 00:00:00



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có thể thêm ngôn ngữ vào sys.syslanguages ​​trong SQL Server 2008 không?

  2. Chèn vào ... Hợp nhất ... Chọn (SQL Server)

  3. số cổng của SQL Server

  4. Nhận Giờ và phút (HH:MM) kể từ ngày

  5. Thay đổi ngôn ngữ cho phiên hiện tại trong SQL Server