Chạy hai đơn giản câu chọn:Tại sao sử dụng left() trên getdate() thay đổi nó thành một kiểu dữ liệu khác?
SELECT GETDATE()
SELECT LEFT(GETDATE(), 10)
Returns:
2015-10-30 14:19:56.697
Oct 30 201
tôi đã mong LEFT()
để cho tôi 2015-10-30
, nhưng thay vào đó nó không.
Có ai biết tại sao không? Nó có liên quan đến kiểu dữ liệu GETDATE
không?
Cảm ơn!
tôi sẽ mong đợi nó để ném một ngoại lệ phải trung thực. Hàm LEFT là một hàm chuỗi nên rõ ràng là có một chuyển đổi ngầm xảy ra ở đây. –
Tôi hiểu điều này có thể không phải là điểm của câu hỏi, nhưng nếu bạn muốn chỉ ngày, bạn có thể sử dụng 'chuyển đổi (ngày, getdate())' –
Hoặc trong SQL Server ** 2012 ** và mới hơn, bạn có thể sử dụng 'SELECT FORMAT (SYSDATETIME(), 'yyyy-MM-dd');' để nhận ** chính xác ** những gì bạn cần .... –