我有一个日期时间格式的数据列。日期显示如下:
2013-09-07 00:00:00.000;
2012-12-09 00:00:00.000;
2013-08-19 00:00:00.000;
我希望日期如此
26-JUN-13;
08-FEB-12;
28-NOV-12;
我使用了以下查询:
select [003 AccptReg].[dbo].[SysDB].[statCngDate_sys] from [003 AccptReg].[dbo].[SysDB]
where [statCngDate_sys]= convert(datetime,left([statCngDate_sys],10),103)
但它显示以下错误:
导致将varchar数据类型转换为日期时间数据类型 在超出范围的价值。
我做错了什么?
我是否还必须以datetime格式而不是varchar格式保留日期列以搜索一系列日期?
答案 0 :(得分:1)
尝试这个
SELECT CONVERT(varchar(50),(CONVERT(DATETIME,'2013-09-07 00:00:00.000')),106)
您不需要转换为日期时间,因为您的列必须采用相同的格式
答案 1 :(得分:0)
使用此查询:
SELECT UPPER(REPLACE(CONVERT(CHAR(9), GETDATE(), 6), ' ', '-'))
这可以解决您的问题。
答案 2 :(得分:0)
试试这个
SELECT CONVERT(VARCHAR(10),GETDATE(),111)