Sql 选择字段数据的实际长度而不是字段大小
我有一个场景,其中我有一个表,其中有两列Sql 选择字段数据的实际长度而不是字段大小,sql,sql-server,trim,dml,Sql,Sql Server,Trim,Dml,我有一个场景,其中我有一个表,其中有两列 Create Table Temp ( _id INT, Name VARCHAR(2000) ) INSERT INTO Temp VALUES (1,'') INSERT INTO Temp VALUES (2,'Mike Terri') SELECT * FROM Temp 当我在VB或C中使用Ado.NET进行选择时,它会将名称列的长度返回到2000,我只想获取包含的实际字符串的大小,我要做的事情是使用Trim函数,但在select
Create Table Temp
(
_id INT,
Name VARCHAR(2000)
)
INSERT INTO Temp VALUES (1,'')
INSERT INTO Temp VALUES (2,'Mike Terri')
SELECT * FROM Temp
当我在VB或C中使用Ado.NET进行选择时,它会将名称列的长度返回到2000,我只想获取包含的实际字符串的大小,我要做的事情是使用Trim函数,但在select*场景中这是不可能的您可以使用DATALENGTH函数作为:
SELECT _id,
Name,
DATALENGTH(Rtrim(Ltrim(Name))) as Length
FROM Temp
希望这有帮助 您可以按如下方式使用Len功能:
SELECT *, LEN(Name) from Temp
从中选择LENNameTemp@Rishabh:问题是我正在为此列返回的大小设置文本框大小,如果此列有值,则它始终为该列返回2000长度,但我希望它返回实际字符串并修剪列中剩余的空白,然后在Vb.Net中从tempBut中选择MaxLtrimrTrimlName,C it数据集的对象它告诉Length=2000,我希望它限制为列在其中的最大字符数selection@DareDevil这似乎不是最好的做法。我想问一下,为什么您希望数据集反映数据信息而不是模式信息?