sql-server – 由于语言环境而将字符串转换为datetime时出错

我在sql Server 2008 R2 Express的特定实例中遇到了很多困难.

我在英国,以下失败:

SELECT CAST('2012-12-31' AS DATETIME)

错误信息:

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

Windows服务器区域设置是英式英语.我的登录区域是英式英语.排序’如果重要’是latin1_General_CI_AS.

数据库“语言”是英语(美国),但是这与另一台服务器上的另一个实例相同,而上述sql不会失败.

有什么想法吗?

解决方法

对于建立数据库连接的用户sql用户 – 将语言设置为英语.

这是特定于发出查询的连接的sql用户的设置

检查这是否有问题的一种方法…在Management Studio中运行此命令并以发出查询sql用户身份登录

SET LANGUAGE English
SELECT CAST('2012-12-31' AS DATETIME)

如果这样做,请适当地设置sql用户认语言

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...