Как добавить строку в столбец SQL Server?
UPDATE [myTable] SET [myText]=' '+[myText]
Это не работает:
Типы данных varchar и текст несовместимы в операторе добавления.
Вы бы использовали concat для MySQL, но как это сделать на SQL Server?
Как добавить строку в столбец SQL Server?
UPDATE [myTable] SET [myText]=' '+[myText]
Это не работает:
Типы данных varchar и текст несовместимы в операторе добавления.
Вы бы использовали concat для MySQL, но как это сделать на SQL Server?
как сказано выше, лучше всего установить тип данных столбца на nvarchar (max), но если это невозможно, вы можете сделать следующее с помощью cast или convert:
-- create a test table
create table test (
a text
)
-- insert test value
insert into test (a) values ('this is a text')
-- the following does not work !!!
update test set a = a + ' and a new text added'
-- but this way it works:
update test set a = cast ( a as nvarchar(max)) + cast (' and a new text added' as nvarchar(max) )
-- test result
select * from test
-- column a contains:
this is a text and a new text added
надеюсь, что поможет
Остановить использование типа данных TEXT
в SQL Server!
Он был устаревшим с версии 2005 года. Используйте VARCHAR(MAX)
вместо этого, если вам нужно больше 8000 символов.
Тип данных TEXT
не поддерживает обычные строковые функции, тогда как VARCHAR(MAX)
делает - ваш оператор будет работать нормально, если вы будете использовать только типы VARCHAR.
+ (String Concatenation) не работает в SQL Server для типов изображений, ntext или текстовых данных.
Фактически, изображение, текст и текст все устарели.
ntext, text и типы данных изображения будут быть удалены в будущей версии MicrosoftSQL Server. Избегайте использования этих типы данных в новых разработках, и планируют изменить приложения, которые в настоящее время используют их. Используйте nvarchar (max), varchar (max) и varbinary (max) вместо этого.
Тем не менее, если вы используете более старую версию SQL Server, чем хотите использовать UPDATETEXT для выполнения своей конкатенации. Какой Колин Стасюк дает хороший пример в своем блоге Конкатенация строк в текстовом столбце (SQL 2000 и SQL 2005+).
hmm, попробуйте сделать CAST(' ' AS TEXT) + [myText]
Хотя, я не совсем уверен, как это закончится.
Я также предлагаю не использовать текстовый тип данных, вместо этого используйте varchar.
Если это не сработает, попробуйте ' ' + CAST ([myText] AS VARCHAR(255))
UPDATE test SET a = CONCAT(a, "more text")
Присоединить две строки в функции SQL Query use CONCAT (Express1, Express2,...)
Как....
SELECT CODE, CONCAT(Rtrim(FName), " " , TRrim(LName)) as Title FROM MyTable