当前位置:  开发笔记 > 编程语言 > 正文

在这个例子中由sql删除字符串中的Dash的最佳功能?

如何解决《在这个例子中由sql删除字符串中的Dash的最佳功能?》经验,为你挑选了1个好方法。



1> Zohar Peled..:

您可以使用PATINDEXRIGHT,LENLTRIM:

创建并填充样本表(在将来的问题中保存此步骤)

DECLARE @T AS TABLE
(
    col varchar(30)
)

INSERT INTO @T VALUES
('1GBDDR3-1066-21'),
('2GBDDR3-1066-21'),
('3- 4GBDDR3-1066-414'),
('1GBDDR3-1066-21'),
('2-1GBDDR3-1066-21')

查询:

SELECT CASE WHEN PATINDEX('[0-9]-%', col) > 0 THEN
           LTRIM(RIGHT(col, LEN(col)-2))
       ELSE
          col
       END
FROM @T

结果:

1GBDDR3-1066-21
2GBDDR3-1066-21
4GBDDR3-1066-414
1GBDDR3-1066-21
1GBDDR3-1066-21

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有