我有一些看起来像这样的数据:
C:10
R:200
N/A
E:3
N/A
N:77
我正在尝试删除每一行的前两个字符,并使用N/A
跳过行我一直试图弄清楚如何使用SUBSTRING
执行此操作但是没有运气
UPDATE d1
SET d1_val = SUBSTRING(d1_val, 1, LENGTH(d1_val)2)
答案 0 :(得分:24)
尝试
UPDATE d1
SET d1_val = SUBSTRING(d1_val, 3)
WHERE d1_val <> 'N/A'
答案 1 :(得分:5)
有关多次执行的更安全查询正在使用LIKE '_:%'
:
UPDATE d1
SET d1_val = SUBSTRING(d1_val, 3)
WHERE d1_val LIKE '_:%'
在上一次查询运行后,它会更改看起来像C:10
,E:100
等但不是10
,100
的每一行。
(假设:
之前总是有一个字母。如果更多 - 请使用LIKE '%:%'
)
答案 2 :(得分:1)
使用SUBSTRING(column_name, character_to_remove)
解决方案,
SUBSTRING(d1_val, 3)
注意:您可以在 SELECT 或 UPDATE 语句中使用它
答案 3 :(得分:0)
UPDATE d1
SET d1_val = SUBSTRING_INDEX(d1_val , ":",-1);
也执行此工作,保持“ N / A”不变。