Строка SQL имеет вид только varchar (10), но содержит более 30 символов - PullRequest
0 голосов
/ 12 мая 2011
Таблица

во внешней базе данных (когда я нажимаю изменить) гласит, что строка A - это varchar (10), но когда я смотрю на данные, в них явно больше символов. Как это возможно?

Это касается меня, потому что когда я извлекаю данные из этой строки, я получаю только 10 символов, а остальное обрезается. Мне не разрешено изменять таблицы внешней базы данных.

1 Ответ

2 голосов
/ 12 мая 2011

Как это возможно? Колонна, вероятно, изначально была varchar (30) и впоследствии была заменена на varchar (10). Я предполагаю, что данные были записаны с момента перехода на varchar (10), что делает это настоящим беспорядком. Если невозможно изменить столбец на длину 30, я бы исследовал последствия урезания старых данных до 10 символов.

Обновление выполните следующую инструкцию для подтверждения длины столбца:

select character_maximum_length
from information_schema.columns
where table_name='tablename' and COLUMN_NAME='columnname'

Обновление 2:

select max(len(column_name))
from tablename
...