Cũng như các gợi ý đã đưa ra, có một khả năng khác mà tôi có thể suy ra từ câu hỏi của bạn:
- Bạn vẫn muốn kết quả là một ngày
- Nhưng bạn muốn 'loại bỏ' Ngày, Giờ , v.v.
- Chỉ để lại trường ngày tháng năm
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
Điều này lấy số nguyên tháng tính từ ngày gốc (0) và sau đó thêm chúng vào ngày gốc đó. Như vậy làm tròn xuống tháng có ngày đó.
LƯU Ý:Trong SQL Server 2008, Bạn vẫn sẽ có TIME đính kèm là 00:00:00.000, Điều này không hoàn toàn giống với việc "loại bỏ" hoàn toàn bất kỳ ký hiệu ngày và giờ nào. DAY cũng được đặt thành đầu tiên. ví dụ. 2009-10-01 00:00:00.000