我有一个表,在69000个条目中有一个包含20个字符的列,是否有可能更新每一行,将其缩减到前14个字符,我已经完成了“向左”选择数据的操作,但是我将如何处理更新列中的每一行?
SELECT LEFT(s_model_description, 14) AS Expr1 FROM s_service_repairs
干杯。
答案 0 :(得分:2)
Update [your_table_name]
set [column_name_you_want_to_update] = left([column_name_you_want_to_update],14)
答案 1 :(得分:1)
使用update:
update s_service_repairs
set s_model_description = LEFT(s_model_description, 14)
答案 2 :(得分:1)
关于Expr14
的某些事情让我想到了SQL Server,因此此答案最适合该数据库。
我建议两件事。首先,更新值:
update s_service_repairs
set s_model_description = left(s_model_description, 14);
然后更改表格,只允许使用14个字符:
alter s_service_repairs alter s_model_description varchar(14);
这将限制将来允许进入该列的值的数量。
如果前14个字符有意义,但是您可能需要全名,则可以添加一个计算列。
alter s_service_repairs add s_model_description_14 as ( left(s_model_description, 14) );