Имя: Пароль:
1C
1С v8
SQL: Сравнить дату
0 shamannk
 
20.10.11
11:43
Сравниваю так не получается выходит ошибка в запроси и все. Как надо?
DATE_NACH тип datetime

CASE DATE_NACH WHEN NULL THEN '00010101' WHEN '19000101' THEN '00010101'ELSE DATE_NACH  END AS DATE_NACH,
1 Ненавижу 1С
 
гуру
20.10.11
11:45
CASE ISNULL(DATE_NACH,'00010101') WHEN '19000101' THEN '00010101' ELSE ISNULL(DATE_NACH,'00010101') END AS DATE_NACH
2 упс
 
20.10.11
11:46
CAST('' as datetime) везде
3 shamannk
 
20.10.11
11:51
(1)Ошибка The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
4 упс
 
20.10.11
11:55
CASE ISNULL(DATE_NACH, CAST('00010101' as datetime)) WHEN CAST('19000101' as datetime) THEN CAST('00010101' as datetime) ELSE ISNULL(DATE_NACH,CAST('00010101' as datetime)) END AS DATE_NACH
5 упс
 
20.10.11
11:58
тьфу, у datetime диапазон начинается с 1753-го года. Меняйте 00010101 на 17530101
6 упс
 
20.10.11
11:59
или используйте тип datetime2, если sql server 2008  и выше
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.