繁体   English   中英

可变字符串:需要获取位于定界符之间的子字符串

[英]Variable String: Need to get a substring located between delimiter

我在sql中有列数据。

Row1= {office Visit|01/09/19 12:35|Atonde.Adedayo O|Draft|{20190123.155152|1051|R|}}
Row2= {Labaratory Visit|01/09/19 12:35|Amar Shetty O|Draft|{20190123.155152|1051|R|}}

等等...我每一行都有这个可变长度的数据。 我想提取像Atonde.Adedayo OAmar Shetty O这样的名称。这些名称位于定界符| |之间。 请帮助我解决此问题。

谢谢,帕拉克

如果您使用的是SQL Server 2016+,则可以使用以下技巧:

DECLARE @Row1 VARCHAR(200) = '{office Visit|01/09/19 12:35|Atonde.Adedayo O|Draft|{20190123.155152|1051|R|}}';
DECLARE @Row2 VARCHAR(200) = '{Labaratory Visit|01/09/19 12:35|Amar Shetty O|Draft|{20190123.155152|1051|R|}}';
DECLARE @Result VARCHAR(200);

SELECT @Result = T.value FROM
(SELECT TOP 3 * FROM String_Split(@Row1, '|')) AS T;

PRINT @Result;

SELECT @Result = T.value FROM
(SELECT TOP 3 * FROM String_Split(@Row2, '|')) AS T;

PRINT @Result;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM