Вопрос

Почему вывод отличается от этого запроса

SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))

выход:

4,30

Это было полезно?

Решение

Varchar всегда настраивается на длину пропущенной строки. Следовательно, выход 4.

CHAR имеет длину по умолчанию 30 и, следовательно, вывод составляет 30.

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

Потому что «Когда n не указан при использовании функций zt и конвертации, длина по умолчанию составляет 30«. Но когда DataLenge наносится на поле VARCHAR, он игнорирует конечные пробелы, а для картного поля длина - это просто размер самой поля.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top