Loo*_*ers 2 sql t-sql sql-server sql-server-2016
先感谢您.
我有一张长柱的表.
我只需要从列中获取名称.
这是列名:
QSTY-IOM-HFVNBJGYG | Mobile #: 9876541323 | CUSTOMER NAME: MNOP UNIPOUYTREA POIUY | INVOICE DATE:02/28/18 | EMP#: 101466 | EMPLOYEE NAME: ANGELINA CASIANO
我只需要从此列中获取客户名称.我尝试了Charindex并且它正在显示错误消息
传递给LEFT或SUBSTRING函数的长度参数无效.
输出:
MNOP UNIPOUYTREA POIUY
由于您使用的是SQL Server 2016,因此可以使用它的内置STRING_SPLIT方法将字符串转换为表格.然后你要做的就是从开头的表中选择值CUSTOMER NAME:,如下所示:
DECLARE @s varchar(300) = 'QSTY-IOM-HFVNBJGYG | Mobile #: 9876541323 | CUSTOMER NAME: MNOP UNIPOUYTREA POIUY | INVOICE DATE:02/28/18 | EMP#: 101466 | EMPLOYEE NAME: ANGELINA CASIANO'
SELECT [value]
FROM STRING_SPLIT(@s, '|')
WHERE LTRIM([value]) LIKE 'CUSTOMER NAME:%'
但是,您应该阅读在数据库列中存储分隔列表真的那么糟糕吗?并尽可能规范化您的数据库.
| 归档时间: | 
 | 
| 查看次数: | 110 次 | 
| 最近记录: |