我有一个表可以称之为'People',它有一个名为'Name'的列,可以说它曾经有Varchar(500)的列规范,现在它将被改为Varchar(100)
我可以编写什么TSQL来执行此更新,并基本修剪行中包含名称的每一行> 100个字符
到目前为止,我已经知道如何识别行,我知道如何更新行,所以我需要一个游标还是有其他一些有效的方法? (只有大约100行)SELECT Id, LEFT (Name, 100) FROM People
答案 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