选择字段数据的实际长度而不是字段大小

时间:2014-09-15 05:08:22

标签: 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

当我在Ado.NETVB中使用C#进行选择时,它会将“Name”列的长度返回到2000,我只想获取包含的实际字符串的大小,我要做的是使用Trim函数,但在Select *场景

中不可能

2 个答案:

答案 0 :(得分:1)

您可以将DATALENGTH功能用作:

SELECT _id,
       Name,
       DATALENGTH(Rtrim(Ltrim(Name))) as Length 
FROM Temp

希望这会有所帮助!!

答案 1 :(得分:0)

您可以使用Len功能,如下所示:

SELECT *, LEN(Name) from Temp