Получить текст + данные в SQL выберите - PullRequest
0 голосов
/ 25 марта 2012

Я пытаюсь получить значение переменной с помощью запросов выбора SQL. Здесь нет ничего нового.

SELECT p.ProductCode FROM Products_Joined AS p

Тем не менее, мне интересно, возможно ли добавить к этому результату текст, например;

SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p

Так бы это выглядело как XJ2156 . Я пытаюсь префикс данных с предопределенной строкой текста. Кто-нибудь знает, как этого добиться?

Ответы [ 3 ]

1 голос
/ 25 марта 2012

Не уверен, что не так с вашим кодом.Я полагаю, ProductCode является int?В SQL есть сумасшедшие правила неявного приведения, которые приводят к преобразованию XJ в int ... Решение:

SELECT 'XJ' + convert(nvarchar(4000), p.ProductCode) FROM Product_Joined AS p
0 голосов
/ 25 марта 2012

Правильный путь - именно то, что вы сказали в вопросе:

SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p

Обратите внимание, что это работает только до тех пор, пока ProductCode является типом текста (varchar, nvarchar ...).
Если это числовое значение, сначала нужно преобразовать его в текст:

SELECT 'XJ' + CAST(p.ProductCode AS varchar(30)) FROM Product_Joined AS p
0 голосов
/ 25 марта 2012

вместо + вы должны использовать трубу ||

     SELECT 'XJ' || p.ProductCode FROM Product_Joined AS p
...