以下查询未将(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
请帮助!
答案 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
列
所以尝试在转换之前进行转换,如上所述。