从字段中删除不良数据,但保留良好数据

时间:2019-08-24 12:00:33

标签: sql

我有一个问题,那就是表中的列中的数据不好。好的数据始终是一个不确定的整数,以/分隔,然后是两个字符。问题是我在两个字符之后有任意多个句点,...。

示例:1/JP... or 25/US.. of 100/GB. etc....

什么删除语句将删除句点(。),但将所有内容保留在两个字符之前?

2 个答案:

答案 0 :(得分:2)

我假设/之后的两个字符是 not 期。

如果您只想删除句点,则可以使用replace()

select replace(col, '.', '')

如果您想更改数据以便没有句点,则可以使用update

update t
    set col = replace(col, '.', '')
    where col like '%/%.';

答案 1 :(得分:0)

您还可以考虑如下使用CHARINDEX的SUBSTRING方法-

DECLARE @Str VARCHAR(100) = '1/JP...'
SELECT SUBSTRING(@Str,0,CHARINDEX('/',@Str,0)+3)