我有一个名为Raw_Data的表,数据如下:
ID Res_Date
1 2010-08-09 00:00:00.000
2 2010-07-09 00:00:00.000
3 2010-02-09 00:00:00.000
我正在寻找输出:
ID Res_Date
1 2010-09-08 00:00:00.000
2 2010-09-07 00:00:00.000
3 2010-09-02 00:00:00.000
我尝试了以下查询;
Select ID,convert(datetime,Res_date,121) from Raw_data
但格式不会改变。任何人都可以帮助我。
答案 0 :(得分:0)
尝试转换为VARCHAR(或类似的)?
为了查询/输出,日期有自己的本地“tostring”。如果要显示更改,则需要以字符串格式输出。
答案 1 :(得分:0)
SELECT CONVERT(NVARCHAR(10), Res_date, 121)
答案 2 :(得分:0)
如果您想在结果中使用破折号,可以试试这个
SELECT LEFT(convert(varchar, Res_date, 102), 4) + '-'
+ LEFT(convert(varchar, Res_date, 105), 5) + ' '
+ RIGHT(convert(varchar, Res_date, 121), 12)
from Raw_data
如果你想要斜杠:
SELECT LEFT(convert(varchar, Res_date, 102), 4) + '/'
+ LEFT(convert(varchar, Res_date, 103), 5) + ' '
+ RIGHT(convert(varchar, Res_date, 121), 12)
from Raw_data
以下是格式化日期时间的一些资源
http://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/
http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/