我在字符串中有一些日期/时间数据,格式为'26 / 10/2009 09:06:43'(即日期为英国格式)。当我尝试
SELECT CAST('26/10/2009 09:06:43' AS DATETIME)
我收到以下错误:
将char数据类型转换为datetime数据类型 超出范围的日期时间值。
我确信解决方案真的非常简单,但我在网上找到的每个例子都会让事情变得过于复杂!
我很感激您能给予的任何帮助!
答案 0 :(得分:2)
尝试使用convert
功能,而不是提供样式编号:
SELECT convert(DATETIME, '26/10/2009 09:06:43', 103)
您可以在此处找到所有格式:http://www.sqlhub.com/2009/04/list-of-all-available-datetime-format.html
答案 1 :(得分:1)
在oracle中就是这样:
SELECT to_date('26/10/2009 09:06:43', 'DD/MM/YYYY HH24:MI:SS') from dual;
有以下网站:
http://www.sqlines.com/oracle-to-sql-server/to_date 在sql server中似乎是这样的:
SELECT CONVERT(DATETIME, '26/10/2009 09:06:43');
答案 2 :(得分:0)
转换前,请将语言设置为英式英语:
set language [British English]
SELECT CAST('26/10/2009 09:06:43' AS DATETIME)
或者您可以使用convert函数,并声明样式:
SELECT convert(DATETIME, '26/10/2009 09:06:43', 103)