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 и выше
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.