1

我有一个2013-01-18以这种格式作为日期数据类型的值,我需要像Fri, Jan 18, 2013在 SQL Server 2008 中那样转换它。

我该如何转换?

4

3 回答 3

2

试试这个:

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了解更多信息

于 2013-01-18T07:56:45.053 回答
0
SELECT CONVERT(VARCHAR(12), SYSDATETIME(), 107) AS [Mon DD, YYYY]
于 2013-01-18T07:05:13.257 回答
0

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
于 2013-01-18T07:58:16.300 回答