Идентичный запрос с теми же данными, который использует DATEDIFF, терпит неудачу в одном и проходит в одном - PullRequest
0 голосов
/ 28 марта 2012

У меня два запроса

use [DatabaseAA]
select *
,DATEDIFF(MINUTE,SomeDate,'3/28/2012 12:52:25  PM +00:00') 

Это проходит, в то время как тот же запрос при выполнении с другой базой данных не выполняется.

use [DatabaseBB]
select *
,DATEDIFF(MINUTE,SomeDate,'3/28/2012 12:52:25  PM +00:00') 

терпит неудачу в DatabseBB

Оба иногда имеют одинаковые значения. Он не подходит для параметра 3 для датировщика. Есть идеи, почему это так?

Сообщение об ошибке

Msg 241, Level 16, State 1, Line 5
Conversion failed when converting date and/or time from character string.

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Оба сервера SQL используют один и тот же формат даты?

Вы можете просмотреть текущие настройки с помощью DBCC USEROPTIONS и установить их при необходимости с помощью SET DATEFORMAT (документация для этого здесь ).

0 голосов
/ 28 марта 2012

Это не удастся, если уровень совместимости базы данных равен 80 или 90 (SQL 2000/5), для SQL 2008 его нужно установить равным 100.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...