Để có được "25-10-2010"
Giả sử giá trị được cung cấp dưới dạng chuỗi, không phải kiểu dữ liệu DATETIME:
SELECT REPLACE(CONVERT(VARCHAR, CAST('2010-10-25 11:13:36.700' AS DATETIME), 106), ' ', '-')
Xem tài liệu CAST / CONVERT cho các định dạng khác, mặc dù định dạng bạn yêu cầu yêu cầu xử lý sau.
Để tải "2010-10-25 00:00:00.000"
Phương tiện hoạt động tốt nhất là sử dụng DATEADD &DATEDIFF:
SELECT DATEADD(d, DATEDIFF(dd, 0, '2010-10-25 11:13:36.700'), 0)
Tài liệu tham khảo:
Thử nghiệm
WITH sample AS (
SELECT CAST('2010-10-25 11:13:36.700' AS DATETIME) dt)
SELECT REPLACE(CONVERT(VARCHAR, s.dt, 106), ' ', '-') AS col1,
DATEADD(d, DATEDIFF(dd, 0, s.dt), 0) AS col2
FROM sample s
Lợi nhuận:
col1 col2
-------------------------------------
25-Oct-2010 2010-10-25 00:00:00.000
Phụ lục
Vì bạn đang sử dụng SQL Server 2005, bạn có thể làm cho việc định dạng ngày tháng trở nên dễ dàng hơn bằng cách tạo một hàm SQLCLR cho phép bạn sử dụng định dạng ngày .NET.