TSQL中的正则表达式

在列的单元格中,e_vis_name我具有组织结构,其中的划分用\符号分隔,例如

  • 莫斯科\方向
  • 雅罗斯拉夫\销售
  • 鄂木斯克\商业中心\销售

我需要在第一个\符号后剪切所有内容,以得到以下结果:

  • 莫斯科
  • 雅罗斯拉夫尔
  • 鄂木斯克

我该怎么做?

汤姆·钱特勒

您可以这样组合使用LEFTCHARINDEX

SELECT LEFT(colname, CHARINDEX('\', colname)-1) FROM table

编辑:在没有\符号的情况下,如果您只想获取整列,则可以这样做:

SELECT 
    CASE WHEN CHARINDEX('\', colname) > 0 THEN LEFT(colname, CHARINDEX('\', colname)-1)
    ELSE ISNULL(colname, '') 
    END
FROM table

这就是说:“如果有一个\,则将字符取到该点,否则取整列。如果该列NULL只是设置一个空字符串。”

我相信您可以根据自己的目的进行调整。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章