huM*_*pty 0 sql t-sql sql-server-2008
这类似于关于 如何从数据末尾删除句号的问题
但在这种情况下,数据字段可以是这样的
MYVAL
abcd. ->>expected abcd
abcd.. abcd
abcd . abcd
abcd .. abcd
ab.abb... ab.abb
Run Code Online (Sandbox Code Playgroud)
等等....
我可以做点什么
Select case when like '%.' then substring(MyVal ,1,len(MyVal )-1)
case when like '%..' then substring(MyVal ,1,len(MyVal )-2)
Run Code Online (Sandbox Code Playgroud)
通过匹配各种模式将会有..因为这是手动方式,我正在寻找一种通用的方法,可以删除值字段后可能发生的任何数量的完全停止.
谢谢
select substring(MyVal, 1, len(MyVal)+1-patindex('%[^.]%', reverse(MyVal)))
Run Code Online (Sandbox Code Playgroud)
更新:
如果你想删除空格,你可以使用它.
select substring(MyVal, 1, len(MyVal)+1-patindex('%[^. ]%', reverse(MyVal)))
Run Code Online (Sandbox Code Playgroud)