是否可以在sql server中将“10-20”转换为“2020/10/01”。我试过以下几个案子都没有结果。
select convert(date, 'OCT-20',103)--从字符串转换日期和/或时间时,转换失败。
alter table MyTable alter column [period] date--从字符串转换日期和/或时间时,转换失败。
我正在使用sql server 2016。
发布于 2021-06-17 08:05:17
如果我们假设值始终是MMM-yy格式的,那么您可以这样做:
SELECT CONVERT(date,'01-' + StringDate,106)
FROM dbo.YourTable;当然,这有两个缺陷。
LOGIN使用基于英语的语言时才能工作,否则就会失败。真正的解决方案是修复您的设计;不要将日期(和时间)值存储在varchar中,当您确实对日期使用varchar (例如WHERE中的文字)时,使用yyyyMMdd或yyyy-MM-ddThh:mm:ss.nnnnnnn等明确的格式。
https://stackoverflow.com/questions/68015210
复制相似问题