如何将日期时间值转换为nvarchar,并希望将其格式化为“月,年”e-g 2009年10月1日的值应转换为“2009年10月”
答案 0 :(得分:5)
使用它:
select CONVERT(nvarchar(50), DATENAME(m, getdate())
+ ', '
+ DATENAME(yyyy, getdate())
)
输出:
--------------------------------------------------
October, 2009
(1 row(s) affected)
答案 1 :(得分:1)
试试这个
DECLARE @DateTime DATETIME
SET @DateTime = '01 Oct 2009'
SELECT @DateTime
SELECT DATENAME(mm, @DateTime) + ', ' + CAST(DATEPART(yy, @DateTime) AS VARCHAR(4))
答案 2 :(得分:0)
一种方法是使用datename以名称格式提取所需的部分,所以:
选择Convert(nvarchar,datename(m,getdate()))+ N','+ Convert(nvarchar,datename) (YY,GETDATE()))
将getdate()替换为日期变量/字段。
答案 3 :(得分:0)
DateName函数将提供您需要的格式:
DATENAME(m, date) + ', ' + DATENAME(yyyy, date)
转换为特定大小的nvarchar可以通过强制转换函数完成:
CAST(value AS nvarchar[30])
答案 4 :(得分:0)
尝试以下查询:
Select case Convert(int, day(getdate())) when 1 then '1st' when 2 then '2nd'
when 3 then '3rd' else Convert(varchar, day(getdate()))+'th' end +' '+ Convert(varchar, Datename(m,getdate()))+' ' +Convert(varchar, Datename(yy,getdate())) as Date
您可以将 getdate()替换为任何其他日期。
请检查是否有帮助。