SQL:根据另一列+其他数据清理更新列

时间:2015-03-17 14:33:09

标签: sql tsql

简化问题:

Material Column='3MR2091' Table Key='1003MR2091 W047F001'

我需要的是Table Key最终只是'W047'

到目前为止我所拥有的:

SELECT REPLACE(REPLACE([Table Key],'%F001%',''),[Material],'') FROM ZMMH03_TEMP;

需要以某种方式与......结合。

SELECT RIGHT([Table Key],LEN([Table Key])-3) As NewTableKey;
SELECT LTRIM([NewTableKey]);

....圣牛,我想出来!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 我有点兴奋。

SELECT REPLACE(REPLACE(REPLACE(RIGHT([Table Key],LEN([Table Key])-3),'%F001%',''),[Material],''),' ','') --- Works!!!!!

现在Table Key只是W047文本!

2 个答案:

答案 0 :(得分:0)

根据您的列

使用您的表格的更新语句
update [YourTable] set [Table Key] = [Material]  where [your condition]

   update [YourTable] set [Table Key] = ''  where [Material] = ''

不确定你需要什么,所以我为你写了两个变种

答案 1 :(得分:0)

所以,我假设你正在使用T-SQL ......

UPDATE [YOUR TABLE]
SET [TABLE KEY] = REPLACE([TABLE KEY], MATERIAL,'')

这将在MATERIAL的值[TABLE KEY]中查找值,并将其替换为空字符串。