我有一列包含字母数字值,例如 A1234、5678Q。我想从字符串中删除字符,只想更新剩余的数值。
我尝试使用 SUBSTR 并创建函数,但它只给了我字符值。
我想删除字符并使用数值更新列,例如 A1234 变为 1234。
假设只有一个非数字字符,您可以使用它:
SELECT val
, CASE
WHEN PATINDEX('%[^0-9]%', val) > 0 THEN STUFF(val, PATINDEX('%[^0-9]%', val), 1, '')
ELSE val
END AS val_fixed
FROM (VALUES
('A1234'),
('5678Q'),
('12345')
) AS tests(val)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句