|
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 и выше
|
|