SQL行只有varchar(10),但其中有30多个字符

时间:2011-05-12 14:03:58

标签: sql sql-server truncate varchar

外部数据库上的表(当我单击修改时)表明行A是varchar(10),但是当我查看数据时,其中显然有更多字符。这怎么可能?

这让我很担心,因为当我从该行中提取数据时,我只得到10个字符,其余的被截断。我不允许修改外部数据库表。

1 个答案:

答案 0 :(得分:2)

这怎么可能? 该柱可能最初是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