更新长度为>的行50

时间:2015-02-27 09:00:06

标签: sql-server tsql truncate

我有一个表可以称之为'People',它有一个名为'Name'的列,可以说它曾经有Varchar(500)的列规范,现在它将被改为Varchar(100)

我可以编写什么TSQL来执行此更新,并基本修剪行中包含名称的每一行> 100个字符

到目前为止,我已经知道如何识别行,我知道如何更新行,所以我需要一个游标还是有其他一些有效的方法? (只有大约100行)

SELECT Id, LEFT (Name, 100) FROM People

2 个答案:

答案 0 :(得分:2)

您想要对LEN(名称)进行调节,这是名称字段的长度。

UPDATE People
SET Name = LEFT(Name, 100)
WHERE LEN(Name) > 100

答案 1 :(得分:0)

无需为此应用CURSOR。一个人应该始终避免使用CURSORS。

检查此解决方案,这是另一种方法。

Update People 
Set Name = Case When Len(Name) > 5 THen Left(Name, 5) else Name End