Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL行仅为varchar(10),但有30+;里面的人物_Sql_Sql Server_Truncate_Varchar - Fatal编程技术网

SQL行仅为varchar(10),但有30+;里面的人物

SQL行仅为varchar(10),但有30+;里面的人物,sql,sql-server,truncate,varchar,Sql,Sql Server,Truncate,Varchar,外部数据库上的表(当我单击modify时)说明A行是一个varchar(10),但当我查看数据时,其中显然有更多的字符。这怎么可能 这让我很担心,因为当我从那一行提取数据时,我只得到10个字符,其余的都被截断了。我不允许修改外部数据库表。这怎么可能? 该列可能最初是一个varchar(30),后来改为varchar(10)。我假设数据是在更改为varchar(10)后写入的,这使得情况变得非常混乱。如果无法将列的长度改回30,我将研究将旧数据截断为10个字符的含义 更新 运行以下语句以确认列长度

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

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

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

Microsoft SQL Transact-No最新的数据也超过了30+40个字符,即使存在varchar(10)限制。他们有一个前端在中输入数据,并有大量的过程,级联更新/插入/删除触发器,这样可以允许他们覆盖varchar(10)限制吗?User589983:我刚刚运行了你的代码,上面写着字符的最大长度:10我又得到了10。我还做了一个选择,并比较了该行中每个项目的长度。我认为当我选择它时,最大值为10,但当我打开远程服务器上的表并查看原始数据(不选择)时,我看到30多个字符。如果不选择,您如何查看原始数据?给您一个+1,因为我认为OP不知道他在说什么。