我有问题转换日期varchar来date格式:
Msg 241, Level 16, State 1, Line 15 Conversion failed when converting date and/or time from character string.
我想转换/铸像SELECT convert(DATE, '25.02.2019');。 因为字符串不能改变顺序从现有表的数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在处理日期格式转换时遇到错误,通常是因为SQL Server无法识别你提供的字符串格式作为日期。根据你的例子,你尝试将'25.02.2019'这样的日期从varchar类型转换为date类型,但是默认情况下,SQL Server可能期望的是MM/DD/YYYY或YYYY-MM-DD的格式。
要解决这个问题,你需要明确指定日期的输入格式。在SQL Server中,你可以使用CONVERT
函数的第三个参数来指定日期格式。对于'25.02.2019'这种日-月-年的格式,你应该使用104作为风格代码,它对应于dd.mm.yyyy的格式。所以,正确的转换命令应该是:
SELECT CONVERT(DATE, '25.02.2019', 104);
这样,SQL Server就能正确地解析并转换你的日期字符串了。如果你是在从一个表的列中进行转换,假设该列为your_date_column
,则可以这样写:
SELECT CONVERT(DATE, your_date_column, 104)
FROM your_table;
请确保替换your_date_column
和your_table
为你的实际列名和表名。