Мне не ясно, как varchar(max)
объявлен или используется в SQL Server, например 2005 г.
Переменная объявлена как varchar(300000)
например рассматривается как varchar(max)
?
Например. Я вижу в БД в таблице переменная объявлена как varchar(8000)
.
Могу я просто увеличить его до varchar(300000)
?
Спасибо
Когда вы явно определяете максимальный размер, вы не можете определить больше, чем CHAR(8000)
/ VARCHAR(8000)
или NCHAR(4000)
/ NVARCHAR(4000)
.
Когда вы определяете переменную как CHAR(max)
или VARCHAR(max)
, вы устанавливаете максимальный размер этой переменной равным 2GB
.
Невозможно определить переменную с максимальным размером между 8000 bytes
и 2GB
.
Нет, ты не можешь. Максимальный размер varchar на SQL-сервере - 8000. Если вам нужно что-то побольше, вам нужно использовать другой тип, например ntext или текст .
Затем, чтобы узнать длину сохраненных данных, вы можете сделать это:
USE AdventureWorks2008R2; // this db has an example for you
GO
SELECT length = DATALENGTH(Name), Name
FROM Production.Product