Как перейти с VARCHAR на TEXT в SQL 2000? - PullRequest
1 голос
/ 30 апреля 2010

Что нужно учесть, прежде чем переключать группу полей с VARCHAR (bignumber) на TEXT?

Помимо производительности, и когда-нибудь в далеком будущем TEXT будет устарел, и помимо того факта, что мне кажется, что мне нужно удалить и заново создать таблицу, чтобы изменить тип данных столбца?

Это для SQL 2000 - я не могу сделать VARCHAR (макс.), А VARCHAR (8000) недостаточно велик.

Ответы [ 4 ]

5 голосов
/ 30 апреля 2010

Не уверен, если вы не можете просто изменить тип данных столбца:

ALTER TABLE dbo.YourTable
  ALTER COLUMN YourColumn TEXT

Разве это не работает? (не уверен, что это сработало в 2000 году .....)

Что следует помнить: с типом данных TEXT работать намного сложнее, если вам нужно выполнять манипуляции со строками, поскольку большинство, если не все обычные строковые функции, такие как LEN, SUBSTRING и т. Д., Не работают Это. Так что в самом T-SQL это основная PIA для работы со столбцами TEXT ....

Но, кроме этого, у тебя все будет хорошо, я верю.

3 голосов
/ 30 апреля 2010

Как минимум:

В прежние времена SQL Server 6,5 дней я хранил некоторые данные в нескольких столбцах varchar (255), поскольку varchar (8000) был представлен только в SQL Server 7.

1 голос
/ 30 апреля 2010

Вы не можете искать в полях, и многие запросы не будут работать, которые используют функции манипуляции со строками. Лучше разбить поле на два или более. Серьезно, если это единственный способ, потому что обновление до версии Express SQL Server 2008, вероятно, будет лучше, чем придерживаться SQL Server 2000 на данный момент, ИМХО. На самом деле, разделение полей тоже было бы плохо. Забудь про это. Я бы этого не сделал, если бы мой босс не отказался от апгрейда, тогда мне пришлось бы выбирать, какие поля VARCHAR (MAX) и какие разделять, а какие - с текстом в качестве типа.

1 голос
/ 30 апреля 2010

Многие строковые функции T-SQL не будут работать с текстом - они работают только с char / varchar / nchar / nvarchar.

...