Как добавить в текстовое поле в t-sql SQL Server 2005

Как лучше всего добавить текст в текстовое поле с помощью t-sql в Sql Server 2005?

Я бы сделал это с помощью varchar.

update tablename set fieldname = fieldname + 'appended string'

Но это не работает с текстовым полем.

Я бы сказал, что это должно сработать. Вероятно, проблема связана с преобразованием / трансляцией. Попробуйте fieldname = fieldname + N'appended string '

Craig 21.01.2009 20:57

К сожалению, это не сработало. Я получил «Типы данных text и nvarchar несовместимы в операторе добавления». Спасибо хоть.

Paul D. Eden 21.01.2009 21:03
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
23
2
51 228
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Это должно работать (ссылка)

Скопировано по ссылке:

DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(ntextThing)
FROM item
WHERE id =1
UPDATETEXT table.ntextthing @ptrval NULL 0 '!'
GO

в 2005 вы должны использовать varchar (max) или nvarchar (max), эти столбцы будут работать с обычными функциями varchar. Текст и ntext устарели

Ответ принят как подходящий

Попробуй это:

update 
  tablename
set
  fieldname = convert(nvarchar(max),fieldname) + 'appended string'

Ну, по крайней мере, я знал, что это какая-то ошибка преобразования. :) Спасибо, Bravax.

Craig 21.01.2009 21:27

Если fieldname имеет значение null, это не сработает. вместо имени поля попробуйте COALESCE (имя поля, '')

nuander 14.06.2013 23:49

Максимальная длина varchar (max) составляет 2 147 483 647 символов. Это то же самое, что и текстовый тип данных.

Какой бы текст ни содержал, он может удерживать, поэтому вам не нужно беспокоиться о нехватке места, переключившись на VARCHAR (MAX).

Другие вопросы по теме