我有一个2013-01-18
以这种格式作为日期数据类型的值,我需要像Fri, Jan 18, 2013
在 SQL Server 2008 中那样转换它。
我该如何转换?
我有一个2013-01-18
以这种格式作为日期数据类型的值,我需要像Fri, Jan 18, 2013
在 SQL Server 2008 中那样转换它。
我该如何转换?
试试这个:
DECLARE @dt DATETIME = '2013-01-18'
SELECT LEFT(DATENAME(WEEKDAY, @dt), 3) + ', ' + CONVERT(VARCHAR(20), @dt, 107)
但是,请注意,CONVERT
带有 107 参数的函数不是确定性的,它取决于本地语言设置,您可以在http://msdn.microsoft.com/en-us/library/ms187928.aspx阅读更多相关信息
功能也是如此DATENAME
,请在http://msdn.microsoft.com/en-us/library/ms174395.aspx了解更多信息
SELECT CONVERT(VARCHAR(12), SYSDATETIME(), 107) AS [Mon DD, YYYY]
http://sqlfiddle.com/#!3/eca79/1
CREATE TABLE person
(
id int identity primary key,
created date
);
INSERT INTO person
(created)
VALUES
('12/1/2003'),
('1/3/2014');
SELECT CONVERT(VARCHAR, DATEPART(DAY, created)) + ', ' + CONVERT(VARCHAR, created, 107) AS Complete
FROM person