Я хочу создать настраиваемый столбец с URL-адресом, состоящим из настраиваемого текста и столбца из таблицы sql. Я делал это раньше, но теперь сталкиваюсь с ошибкой и не знаю, как ее решить.
select *, 'www.google.com/' | oporid
from #sqltable
Я получаю сообщение об ошибке «Ошибка преобразования типа данных varchar в bigint». Затем я вношу следующие изменения:
select *, cast('www.google.com/' | oporid as varchar)
from #sqltable
Однако я получаю ту же ошибку, даже если преобразовываю настраиваемый столбец в varchar.
Когда я просто создаю настраиваемый текстовый столбец, он работает нормально, но когда я хочу включить OpOrID для создания URL-адреса (www.google.com/OpOrID), возникает ошибка.
Побитовое или несовместимо со строкой. Даже если вы выполните преобразование в двоичный код, это то, что вы хотите сделать? docs.microsoft.com/en-us/sql/t-sql/language-elements/…
Я пытаюсь создать настраиваемый столбец с выводом, который объединяет написанный мной настраиваемый текст (www.google.com/) с данными из моей существующей таблицы (OpOrID), поэтому результатом является столбец www.google.com/OpOrID.
concat (значение1, значение2, ...)
Пожалуйста, скажи мне, что это не так просто
select *, 'www.google.com/' + oporid as url2
from #sqltable
Если не varchar, используйте concat или cast
Я думаю, они этого хотят. Единственная проблема может заключаться в том, что oporid может быть числом, поэтому потребуется преобразование / преобразование. Но на самом деле я думаю, что это так просто. :(
Из контекста я очень подозреваю, что это varchar
Возможно, вы правы. Трудно сказать наверняка, так как деталей очень мало.
oporid - это int
@George Тогда используйте concat или приведите его. Вы не нашли ответ приемлемым?
Я получил ту же ошибку при попытке ответа @paparazzo
Что ты здесь делаешь? Чем больше я смотрю на это, тем больше запутывается. | - это побитовый оператор ИЛИ в t-sql. docs.microsoft.com/en-us/sql/t-sql/language-elements/… Может быть, вы пытаетесь выполнить конкатенацию строк? Здесь используется символ +