datetime

redsky
Дата: 14.06.2011 19:45:30
В таблице есть поле Дата_курса с типом данных datetime.
Делаю запрос:
select Дата_курса 
from А_валюта_курсы
where Дата_курса < '2010.12.15'
Почему SQL server воспринимает 2010.12.15 как ГГГГ.ДД.ММ а не ГГГГ.ММ.ДД и соответственно выдаёт мне ошибку???
Работаю на Win. Virtual PC. На реальных машинах такого ни разу не было ...
Может причина в каких-то настройках региональных в Винде XP или в самом SQL server ???
Baddy
Дата: 14.06.2011 19:56:16
пишите '20101215' и все будет Ок
iap
Дата: 14.06.2011 19:59:58
redsky
Почему SQL server воспринимает 2010.12.15 как ГГГГ.ДД.ММ а не ГГГГ.ММ.ДД и соответственно выдаёт мне ошибку???
Изучайте: Использование данных даты и времени
redsky
Дата: 14.06.2011 20:08:10
Baddy
пишите '20101215' и все будет Ок
СПАСИБО!!! Помогло :)
iap
redsky
Почему SQL server воспринимает 2010.12.15 как ГГГГ.ДД.ММ а не ГГГГ.ММ.ДД и соответственно выдаёт мне ошибку???
Изучайте: Использование данных даты и времени
Мне ещё интересно почему это вдруг произошло ... За два года использования этого запроса на различных операционках такого не было ..., а тут на тебе :))
pkarklin
Дата: 14.06.2011 20:43:44
redsky,

Дело не в операционках, а в дефолтном языке логина, который, в свою очередь, наследуется от дефолтного языка сервера.
iap
Дата: 14.06.2011 21:35:37
redsky,

выполните
SELECT STUFF(STUFF(STUFF('___',F%10,1,'D'),F/100%10,1,'M'),F/10000,1,'Y')
FROM (SELECT CONVERT(CHAR, CAST('1/2/3' AS DATETIME),12)) D(F)
Всё сразу станет понятно.
monsenior
Дата: 14.06.2011 22:45:20
redsky
Baddy
пишите '20101215' и все будет Ок
СПАСИБО!!! Помогло :)

Это не решить проблему, смотрите в сторону
convert(datetime, '15.12.2010', 104)
redsky
Дата: 15.06.2011 08:47:20
monsenior
redsky
пропущено...
СПАСИБО!!! Помогло :)

Это не решить проблему, смотрите в сторону
convert(datetime, '15.12.2010', 104)
Знаю про convert, но искал вариант попроще )) Спасибо!!!