SQL Server - 使用DATALENGTH截断

时间:2014-08-29 15:44:58

标签: sql sql-server tsql datalength

有没有办法使用DATALENGTH截断nvarchar?我试图在列上创建索引,但索引只接受最多900个字节。我有1000多个字节的行。我想截断这些行,只接受前n个字符< = 900字节。

3 个答案:

答案 0 :(得分:0)

这个sql可以用,只需更新该列的表。

Update Table
Set Column = Left(Ltrim(Column),900)

答案 1 :(得分:0)

创建一个表示要索引的数据的COMPUTED COLUMN,然后在其上创建索引。

ALTER TABLE MyTable ADD ComputedColumn AS LEFT(LargeNVarcharColumn,900);

CREATE NONCLUSTERED INDEX MyIndex ON MyTable
(
    ComputedColumn ASC
);

<强>参考:

答案 2 :(得分:0)

将列左侧或右侧修剪为900个字符,在该列上创建索引

ALTER TABLE usertable ADD used_column AS LEFT(nvarcharcolumn,900);

在这个使用过的columm.it上创建一个索引