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

Chuyển đổi varchar thành datetime trong sql đang có mili giây

Bạn có thể sử dụng kiểu 121 nhưng bạn có thể chỉ có 3 chữ số cho mili giây (tức là yyyy-mm-dd hh:mi:ss.mmm(24h) ) định dạng.

declare @abc varchar(100)='2011-09-26 16:36:57.810' 
select convert(datetime,@abc,121)

Vì vậy, bạn có thể sắp xếp nó bằng cách giới hạn trường varchar thành 23 ký tự trước khi chuyển đổi thành:

declare @abc varchar(100)='2011-09-26 16:36:57.810000' 
select convert(datetime,convert(varchar(23),@abc),121)

Hoặc sử dụng Left() hàm lấy 23 ký tự đầu tiên dưới dạng:

select convert(datetime,left(@abc,23),121)

Cố gắng tránh lưu trữ ngày dưới dạng chuỗi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu sơ đồ bế tắc của SQL Server

  2. Tạo lớp từ bảng cơ sở dữ liệu

  3. Không thể lưu dữ liệu mảng byte [] vào cơ sở dữ liệu trong C #. Nó tiết kiệm 0x

  4. Không thể ghi dữ liệu vào phương tiện. Vs2017 ASP.net core Giàn giáo (MSSQL WINDOW 10)

  5. Thêm tham chiếu dll của bên thứ ba trong thành phần tập lệnh ssis