Rayalacheruvu Hemanth Ответов: 3

Код: выберите 'abc'+null


использовать установить условие в SQL сервере.

запрос : выберите 'abc'+null,

ответ на выполнение : null,

но мне нужен ответ abc при использовании set condition в sql server.

Что я уже пробовал:

при выполнении ответ равен нулю, но мне нужна там 'abc'. при использовании заданного условия.

3 Ответов

Рейтинг:
2

MadMyche

Добавление на Оригинальный Грифф ответ; и в зависимости от ваших потребностей вы можете настроить значение для замены нуль(с) по мере необходимости. Обычно я использую для этого пустой varchar.

DECLARE @PossibleNull    VARCHAR(32)
DECLARE @NullReplacement VARCHAR(1) = ''

SELECT 'abc' + Concat(@PossibleNull, @NullReplacement)
Если вам интересно, Concat предпочтительнее только MS SQL IsNull функция, поскольку она является частью спецификации языка ANSI и также может быть скована по нескольким значениям "замены".


Rayalacheruvu Hemanth

да, это правда,
но не уходите от ответа на мой вопрос.

MadMyche

Затем вам нужно использовать виджет "улучшить вопрос", чтобы улучшить свой вопрос; и включить всю соответствующую информацию. Рекомендуется также включить конкретный код, с которым вы работаете, в блок "что я пробовал".

Рейтинг:
14

OriginalGriff

В SQL NULL Всевышний - любая операция, включающая в себя NULL будет приносить NULL - так что если вы попытаетесь сложить два столбца вместе, если это так Null тогда результат таков NULL также.

Попробовать это:

SELECT CONCAT('abc', NULL)
И вы получите то, что хотели: 'abc'


Rayalacheruvu Hemanth

ваш ответ верен, но он не будет отвечать на мой вопрос.
я уже говорил в своем вопросе, что использую условие "set".

OriginalGriff

Поэтому используйте CONCAT в своей команде SET ... какая часть этого для вас трудна?

DECLARE @X NVARCHAR(MAX);
SET @X = CONCAT('abc', NULL);
SELECT @X;

Рейтинг:
0

Richard Deeming

Ваш вопрос не особенно ясен, но я предполагаю, что "использование заданного условия" это означает, что вы должны изменить параметры SQL Server для вашего запроса. В частности:
SET CONCAT_NULL_YIELDS_NULL (Transact-SQL) - SQL Server | Microsoft Docs[^]

SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + Null; -- Result: "abc"
NB: Это плохая идея. Как говорится в документации, этот параметр будет удален в будущей версии SQL Server, и его следует избегать.