Trong SQL Server, giống như bạn có thể sử dụng T-SQL để lấy tên tháng từ một ngày, bạn cũng có thể sử dụng các phương pháp tương tự để lấy tên ngày. Theo tên ngày, ý tôi là Thứ Hai hoặc Thứ Ba chẳng hạn, chứ không phải số ngày hoặc số ngày trong tuần (bạn cũng có thể lấy nếu cần).
Dưới đây là ba cách để trả lại tên ngày từ một ngày trong SQL Server bằng T-SQL.
Hàm FORMAT ()
FORMAT()
hàm trả về một giá trị được định dạng theo định dạng được chỉ định và văn hóa tùy chọn. Bạn có thể sử dụng nó để trả lại tên ngày cho một ngày.
Đây là một ví dụ:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'dddd') AS Result;
Kết quả:
+----------+ | Result | |----------| | Sunday | +----------+
Trong trường hợp này, chúng tôi đã cung cấp định dạng dddd
là tên ngày.
Bạn cũng có thể lấy tên ngắn hạn bằng cách cung cấp ddd
như đối số thứ hai:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'ddd') AS Result;
Kết quả:
+----------+ | Result | |----------| | Sun | +----------+
Bạn cũng có thể cung cấp một đối số tùy chọn để chỉ định văn hóa.
Dưới đây là một số ví dụ:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'dddd', 'en-US') AS 'en-US', FORMAT(@date, 'dddd', 'es-es') AS 'es-es', FORMAT(@date, 'dddd', 'de-de') AS 'de-de', FORMAT(@date, 'dddd', 'zh-cn') AS 'zh-cn';
Kết quả:
+---------+---------+---------+---------+ | en-US | es-es | de-de | zh-cn | |---------+---------+---------+---------| | Sunday | domingo | Sonntag | 星期日 | +---------+---------+---------+---------+
Hàm DATENAME ()
DATENAME()
chức năng tương tự như DATEPART()
, ngoại trừ việc nó trả về tên của phần ngày được chỉ định (nhưng chỉ khi tên có thể áp dụng). Điều đó có nghĩa là nó trả về tên ngày trong tuần hoặc tên tháng nếu đó là những gì bạn yêu cầu.
Dưới đây là cách trả về thành phần ngày trong tuần của ngày:
DECLARE @date datetime2 = '2018-07-01'; SELECT DATENAME(weekday, @date) AS Result;
Kết quả:
+----------+ | Result | |----------| | Sunday | +----------+
Hàm vô hướng DAYNAME () ODBC
Nếu vì lý do nào đó bạn cần sử dụng hàm vô hướng ODBC, thì có một hàm được gọi là DAYNAME()
trả về cụ thể tên ngày trong tuần từ một ngày.
Ví dụ:
DECLARE @date datetime2 = '2018-07-01'; SELECT {fn DAYNAME(@date)} AS Result;
Kết quả:
+----------+ | Result | |----------| | Sunday | +----------+
Khi sử dụng các hàm vô hướng ODBC trong T-SQL, chúng được bao quanh bởi dấu ngoặc nhọn ({}
) và tên hàm có tiền tố là fn
.