You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中如何将'25/10/2022'转换为YYYY-MM-DD格式?

解决SQL Server日期字符串转换为YYYY-MM-DD格式的问题

你的问题出在直接对字符串类型的日期值使用CONVERT函数,此时第三个参数的格式代码不会生效——SQL Server只会原样返回输入的字符串,不会解析日期格式。要实现转换,需要分两步:

  1. 将字符串转换为日期类型:指定输入格式代码(103对应dd/mm/yyyy,匹配你的输入25/10/2022)
  2. 将日期类型转换为目标格式的字符串:使用格式代码23(对应YYYY-MM-DD)

方法一:使用两次CONVERT

SELECT CONVERT(VARCHAR, CONVERT(DATE, '25/10/2022', 103), 23)

方法二:使用TRY_CONVERT避免格式错误报错

如果不确定输入字符串是否都符合dd/mm/yyyy格式,可以用TRY_CONVERT替代,转换失败时返回NULL而非报错:

SELECT TRY_CONVERT(VARCHAR, TRY_CONVERT(DATE, '25/10/2022', 103), 23)

方法三:使用FORMAT函数(写法更直观,性能略低)

SELECT FORMAT(CONVERT(DATE, '25/10/2022', 103), 'yyyy-MM-dd')

补充:格式代码106对应的是dd mon yyyy(比如25 Oct 2022),这也是你原语句没有得到目标格式的原因之一——即便输入是日期类型,用106也不会输出YYYY-MM-DD。

内容的提问来源于stack exchange,提问作者Sumeet Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 14:05:14