转换为yyyy / dd / mm

时间:2011-08-30 20:10:37

标签: sql tsql sql-server-2008 datetime

我有一个名为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

但格式不会改变。任何人都可以帮助我。

3 个答案:

答案 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/