如何将sql 05/04/207中的日期转换为2017年5月4日
我正在使用 转换(nvarchar,日期,106) 它给出了2017年5月4日如何将sql 05/04/207中的日期转换为2017年5月4日,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在使用 转换(nvarchar,日期,106) 它给出了2017年5月4日 但我需要2017年5月4日的2017年5月4日 2017年5月11日的2017年5月11日如果CONVERT(nvarchar,Date,106)给出2017年5月4日,如果要删除第一个字符,如果它是0,则可以使用大小写表达式 查询 SELECT CASE WHEN LEFT(CONVERT(nvarchar, Date, 106), 1) = '0' THEN RIGHT(CONVERT(nvarchar, Da
但我需要2017年5月4日的2017年5月4日
2017年5月11日的2017年5月11日如果
CONVERT(nvarchar,Date,106)
给出2017年5月4日
,如果要删除第一个字符,如果它是0
,则可以使用大小写
表达式
查询
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;
您可以检查月份中的日期<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
选择替换(案例)
日期部分(日期、日期列)<10时
然后填充(convert(nvarchar(20),dateColumn,106),1,1',)
ELSE转换(nvarchar(20),dateColumn,106)
结束,'',''作为日期文本
从你的桌子上
是否还有其他替代方案this@Raj:您正在使用哪个RDBMS
?2008 sql server