sql-server - 更新长度 > 50 的行

标签 sql-server t-sql truncate

我有一个表,我们称之为“People”,它有一个名为“Name”的列,假设它曾经具有 Varchar(500) 的列规范,现在它将更改为 Varchar(100)

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

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

SELECT Id, LEFT (Name, 100) FROM People

最佳答案

您想要以 LEN(Name) 为条件,即“名称”字段的长度。

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

关于sql-server - 更新长度 > 50 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28761023/

相关文章:

SQL 表键值对到 XML

audio - 将 double 转换为声音字节输出的精妙之处

sql-server - 在存储过程中的截断表上发生错误

python - 如何使用 Pandas 截断表格?

sql-server - Elmah 不在 IIS7 服务器上工作

mysql - Coldfusion SQL 查询速度非常慢

mysql - 无法一次截断多个表

sql-server - SQL查询性能

t-sql - 如何防止 Checksum() 在 sql server 中生成重复值

sql - 如何按日期查询结果调整 SQL 聚合以合并同一级别中某些列存在空值的值