字符串(dd/mm/yyyy)到sql server的日期

Lar*_*rry 4 sql t-sql sql-server

编辑:解决方案是在参考文章的解决方案.我不小心忽略DATETIME - > Varchar(10)

`CONVERT的语法:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )`
Run Code Online (Sandbox Code Playgroud)

我知道这篇文章

SQL Server(2005,2000,7.0)没有任何灵活的,甚至是非灵活的方式来采用字符串格式的任意结构化日期时间并将其转换为日期时间数据类型.

所以我正在寻找一种解决方案,只解决这种特殊的String格式.

比方说,我在SQL Server中的表字段:inputDatedatetime格式

以下代码无需转换/强制转换

SELECT inputDate
FROM   some_table
WHERE  inputDate > '01/24/2013' 
Run Code Online (Sandbox Code Playgroud)

但它不会起作用

SELECT inputDate
FROM   some_table
WHERE  inputDate > '24/01/2013'
Run Code Online (Sandbox Code Playgroud)

投掷一个 The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

然后我试了一下

SELECT inputDate
FROM   some_table
WHERE  inputDate > CONVERT(VARCHAR(10), '24/01/2013', 103)
Run Code Online (Sandbox Code Playgroud)

抛出同样的错误

有没有办法将dd/mm/yyyy中的字符串转换为 SQL SERVER中的日期时间格式?或唯一的方法,正确的方法是在其他地方进行santization?

Joh*_*Woo 9

你尝试过使用DATETIME而不是VARCHAR(10)

WHERE inputDate > CONVERT(DATETIME, '24/01/2013', 103) 
Run Code Online (Sandbox Code Playgroud)