Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Траблы при работе со строками  [new]
marvel
Member

Откуда:
Сообщений: 1066
Привожу пример исключительного случая когда поле Internal_Num пустое
cast(cast(LTRIM(RTRIM(SUBSTRING(SUBSTRING([Internal_Num], 1, 8),2,2)))as int)as NVARCHAR(400)) 
В данном случае результатом будет ноль, что для моей задачи не правильно, т.к. по настоящему там null. Что тут можно добавить?
26 авг 04, 19:28    [912287]     Ответить | Цитировать Сообщить модератору
 Re: Траблы при работе со строками  [new]
Luchkin Dmitry
Member

Откуда: Новосибирск -> Ангарск -> Братск -> Мск
Сообщений: 1921
а CASE WHEN [Internal_Num] is null THEN null ELSE <всё, что выше написали> END противоречит убеждениям?
26 авг 04, 19:32    [912295]     Ответить | Цитировать Сообщить модератору
 Re: Траблы при работе со строками  [new]
marvel
Member

Откуда:
Сообщений: 1066
Мне надо, чтобы он вывел null без case, т.к. там есть еще двухстрочное добавление.
26 авг 04, 19:36    [912304]     Ответить | Цитировать Сообщить модератору
 Re: Траблы при работе со строками  [new]
marvel
Member

Откуда:
Сообщений: 1066
Т.е. я хочу узнать есть ло возможность конвертировать 0 в null
26 авг 04, 19:37    [912305]     Ответить | Цитировать Сообщить модератору
 Re: Траблы при работе со строками  [new]
Glory
Member

Откуда:
Сообщений: 104760
select NULLIF(0,0)
26 авг 04, 21:55    [912492]     Ответить | Цитировать Сообщить модератору
 Re: Траблы при работе со строками  [new]
marvel
Member

Откуда:
Сообщений: 1066
nullif(cast(cast(LTRIM(RTRIM(SUBSTRING(SUBSTRING([Internal_Num], 1, 8),2,2)))as int)as NVARCHAR(400))0,0)
Чего то не пашет
27 авг 04, 10:08    [913018]     Ответить | Цитировать Сообщить модератору
 Re: Траблы при работе со строками  [new]
Luchkin Dmitry
Member

Откуда: Новосибирск -> Ангарск -> Братск -> Мск
Сообщений: 1921
дочегоже народ ленивый пошёл...
select nullif(cast(cast(LTRIM(RTRIM(SUBSTRING(SUBSTRING('', 1, 8),2,2)))as int)as NVARCHAR(400)), 0)
точно работает...
27 авг 04, 10:15    [913055]     Ответить | Цитировать Сообщить модератору
 Re: Траблы при работе со строками  [new]
aleks2
Guest
cast(cast(NULLIF(LTRIM(RTRIM(SUBSTRING([Internal_Num], 2, 2))), N'') as int) as NVARCHAR(400))

---------------
Хрен там у тебя Internal_Num is null, это Internal_Num=''.
27 авг 04, 10:26    [913119]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить