SQL查询不将日期格式化为MM / DD / YYYY

时间:2012-03-21 20:46:24

标签: sql sql-server

以下查询未将(12/9/2010)列中的日期PROVISIONED_DATE格式化为MM/DD/YYYY,就像互联网上的所有人都认为的那样。

SQL QUERY:

select convert(varchar(20),PROVISIONED_DATE,101) as 'DATE PROVISIONED'
from PEV.dbo.EVSE
where [SRC_SYS_ID] = '3297'

输出:

12/9/2010 12:46

预期成果:

12/09/2010 12:46

基于此网站:http://www.sql-server-helper.com/tips/date-formats.aspx以下使用GETDATE()工作得很好,但是当我更改为我的column_name时,它不再有效

Date Format - MM/DD/YYYY
Standard - USA
SQL Statement - SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [MM/DD/YYYY]
Sample Output - 11/23/1998

请帮助!

2 个答案:

答案 0 :(得分:2)

我认为您的列的数据类型不是DateTime。请尝试如下。

 declare @dt varchar(20)
     set @dt = '12/9/2010'

     SELECT CONVERT(VARCHAR(10), convert(datetime,@dt), 101) AS [MM/DD/YYYY]

答案 1 :(得分:1)

PROVISIONED_DATE的数据类型是什么?试试以下

SELECT CONVERT(varchar(20),CAST('12/9/2010' as DATETIME),101)

结果是预期的12/09/2010。

这意味着PROVISIONED_DATE不是DATETIME

所以尝试在转换之前进行转换,如上所述。