首页 > 解决方案 > SQL 服务器日期转换

问题描述

我正在尝试使用以下代码将 varchar 转换为日期。

SELECT CAST('14/08/2018' as date) --This code does not work
SELECT CAST('09/08/2018' as date) --This code works

似乎当日期的日期部分到达“13”时,它开始中断。对此有合乎逻辑的解释吗?

给出的错误是:

消息 241,级别 16,状态 1,行 7670
从字符串转换日期和/或时间时转换失败。

标签: sqlsql-servertsql

解决方案


你应该在谈话之前决定你的日期部分:

我会考虑带风格的日期dd/mm/yyyy

SELECT CONVERT(DATE, '14/08/2018', 103)

但是,似乎 SQL 已设置 date mm/dd/yyyy

如果是这样,您可以更改它:

set dateformat dmy

推荐阅读