sql-server-2008 - 在 SQL Server 中拆分单词
问题描述
我正在检查给_
定字符串中是否存在下划线 ( )。如果找到,我想将这个词分成两个值(一个值出现在下划线之前,一个值出现在下划线之后)。
DECLARE @ExpressionToSearch VARCHAR(50)
SET @ExpressionToSearch = 'TMS_Customers'
IF CHARINDEX('_', @ExpressionToSearch ) > 0
PRINT 'Yes it Contains'
ELSE
PRINT 'It doesn''t Contain'
Required output
---------------
a=TMS
b=Customers
如何拆分给定的字符串?
解决方案
捕获CHARINDEX
结果并使用它来读取周围的文本_
DECLARE @ExpressionToSearch VARCHAR(50)
SET @ExpressionToSearch = 'TMS_Customers'
DECLARE @Position INT = CHARINDEX('_', @ExpressionToSearch)
IF (@POSITION = 0) BEGIN
PRINT 'It doesn''t Contain'
RETURN
END
SELECT
LEFT(@ExpressionToSearch, @Position - 1),
RIGHT(@ExpressionToSearch, LEN(@ExpressionToSearch) - @Position)
推荐阅读
- html - 用加载动画填充字体真棒图标
- python - 当python中的输入为yes时,我想再次从头开始循环这个程序
- gitlab - gitlab 人群存在用户;在“关联账户”下找不到菜单
- android - Android webview下载pdf,xlsm为html文件
- reactjs - 在 Typescript 中反应 Hoc 组件装饰器
- laravel-5 - Vue 组件不渲染并忽略 props
- javascript - 如何与等待分离功能
- google-sheets - 如何在谷歌表格的每一页上重复/冻结一行(不是第一行)?
- java - Mocking Socket.getOutputStream() for testing Java
- html - 一起使用 Bootstrap 4 类时,过渡轻松在悬停时不起作用