如何datetime值转换为nvarchar,并希望将其格式化“月,年”,例如2009年10月1日值应转换为:“2009年10月”转换日期时间为nvarchar,只是年份和月份
回答
使用这个:
select CONVERT(nvarchar(50), DATENAME(m, getdate())
+ ', '
+ DATENAME(yyyy, getdate())
)
OUTPUT:
--------------------------------------------------
October, 2009
(1 row(s) affected)
的一种方式将使用日期名称来提取名称格式所需的部分,所以:
select转换(nvarchar,datename(m,getdate()))+ N','Convert(nvarchar,datename (yy, getdate()))
并用您的日期变量/字段替换getdate()。
将一次转换为nvarchar会更高效。也不要忘记,如果你没有在CONVERT中指定一个nvarchar长度,它默认为30,并且会截断。例如运行这个_SELECT CONVERT(nvarchar,'abcdefghijklmnopqrstuvwxyz1234567890')_你只能得到前30个字符,并且不会看到截断字符:“567890”,并且没有错误或警告。 – 2009-10-01 12:58:18
的DATENAME功能将提供您所需要的格式:
DATENAME(m, date) + ', ' + DATENAME(yyyy, date)
转换为特定大小的nvarchar的可以通过转换函数来完成:
CAST(value AS nvarchar[30])
日期部分将仅返回数字,需要日期名称 – 2009-10-01 12:36:50
日期部分是数字表示形式,不幸的是不是名称表示形式。 – Andrew 2009-10-01 12:37:38
固定。谢谢。 – 2009-10-01 12:41:48
试试这个
DECLARE @DateTime DATETIME
SET @DateTime = '01 Oct 2009'
SELECT @DateTime
SELECT DATENAME(mm, @DateTime) + ', ' + CAST(DATEPART(yy, @DateTime) AS VARCHAR(4))
不会返回nvarchar作为OP请求 – 2009-10-01 12:51:09
然后转换它,或分配给nvarchar变量... – 2009-10-01 13:23:19
尝试以下查询:
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()与任何其他日期。
请检查是否有帮助。
- 1. 月份和年份的日期转换
- 2. 将字符串转换为日期时间为年份和月份SQL
- 3. 将年份和月份(“yyyy-mm”格式)转换为日期?
- 4. 将月份和年份转换为日期
- 5. 在Android中将日期转换为月份和年份
- 6. 从TextBox读取日期值并转换为月份和年份
- 7. 如何在xts中将数字年份月份转换为年份 - 月份 - 日期日期格式?
- 8. 将年份日月转换为月份日
- 9. JavaScript:获取日期差异并将月份转换为年份
- 10. 转换日期到月份名称和年份
- 11. 如何将月份转换为java中的年份和月份
- 12. 添加年份,月份和日期C
- 13. 日期,月份和年份下拉框
- 14. 计算月份和年份的日期
- 15. 只月份和年份
- 16. 获取日期,年份和月份的时间戳
- 17. 从日期时间视场中的年份和月份条目
- 18. 从日期,月份和年份开始的Python时间戳
- 19. 如何与日期时间一起创造月份和年份
- 20. 时间戳记日期,月份和年份jquery
- 21. 关于日期 - 时间差异的月份和年份
- 22. 如何将GETDATE()转换为只有时间忽略的日期,月份和年份
- 23. 将日期时间拆分为日期/年/月/日名称和计数年份
- 24. 转换日期格式(只有年份)
- 25. PHP:将年中的日期转换为月份和月中的日期
- 26. 字符串到日期时间的转换 - 指定在日期和月份日期的年份
- 27. 日期格式为UTC月份日期和年份(MMM DD,YYYY)
- 28. Django过滤日期时间按年份,月份,日期,小时和分钟
- 29. 转换为R的年份中的日期和时间
- 30. 转换为日期时间和提取月份名称
非常好的答案... – 2009-10-01 13:24:20
如果他想把它放入已经声明为nvarchar的变量中,则不需要该转换器,因为它会在信息放入变量时隐式转换。我知道varchar数据没有隐式转换的唯一地方就是在SSIS中。 – HLGEM 2009-10-01 14:29:27