Đó là bởi vì FORMAT()
không phải là một chức năng tích hợp sẵn trong SQL 2005. Bạn cần phải sử dụng các chức năng CONVERT()
:
SELECT
EmpId,
EmpName,
REPLACE(CONVERT(VARCHAR(10), EmpJoinDate, 102), '.', '-') AS date
FROM
Employee
Một vài hãy cẩn thận mặc dù ... "ngày" là một từ dành riêng tôi tin, vì vậy tôi sẽ không đề nghị sử dụng nó, ngay cả như một bí danh cột. Ngoài ra, trên thực tế cho YYYY-MM-DD. YYYY-DD-MM là khá hiếm tôi tin. Nếu bạn thực sự muốn điều đó, bạn sẽ cần phải ghép nối mọi thứ lại với nhau bằng các hàm DATEPART
và CAST
hoặc nối các thứ bằng cách sử dụng SUBSTRING
với CONVERT
.
Thực hiện tìm kiếm trên CONVERT
và bạn sẽ có thể tìm thấy tất cả các định dạng khác nhau được hỗ trợ. Cái mà tôi đã sử dụng ở trên (102) là dành cho YYYY.MM.DD, vì vậy tôi đã thay thế để thay thế dấu gạch ngang.
Nguồn
2011-06-24 15:08:58
tại sao định dạng() không hoạt động? –
Vì nó không tồn tại trong SQL Server, bạn có nghĩ đến Access không? –
Bởi vì khi thông báo lỗi cho biết, nó không phải là một chức năng hợp lệ. – Ray