如何在sql 05/04/207中将日期转换为4MAY2017

时间:2017-04-27 04:41:35

标签: sql sql-server sql-server-2008

我正在使用

  

CONVERT(nvarchar,Date,106)

它给04MAY2017
但我需要4MAY2017 FOR 04/05/2017
和11MAY2017 FOR 11/05/2017

2 个答案:

答案 0 :(得分:1)

如果CONVERT(nvarchar, Date, 106)给出了04MAY2017,如果您要删除第一个字符0,那么您可以使用CASE表达式。

<强>查询

SELECT CASE WHEN LEFT(CONVERT(nvarchar, Date, 106), 1) = '0' 
THEN RIGHT(CONVERT(nvarchar, Date, 106), LEN(CONVERT(nvarchar, Date, 106)) - 1)
ELSE CONVERT(nvarchar, Date, 106) END
FROM your_table_name;

答案 1 :(得分:0)

你可以查看每天的时间&lt; 10然后删除第一个字符。

SELECT  REPLACE(CASE 
            WHEN datepart(day,dateColumn) < 10 
            THEN STUFF(convert(nvarchar(20), dateColumn, 106), 1,1,'')
            ELSE convert(nvarchar(20), dateColumn, 106)
      END, ' ', '') AS dateText 
FROM yourTable