首页 > 解决方案 > 获取介于“”之间的字符串(最合适的方法)

问题描述

我正在从字段中提取字符串,并希望看看是否有更好的方法来做到这一点。

这是我目前拥有的:

Select   ,Left(Right((SUBSTRING([TaskLink], CHARINDEX('"', [TaskLink]),
   CHARINDEX('" ',[TaskLink]) - CHARINDEX('"', [TaskLink]) + Len('" '))), LEN(SUBSTRING([TaskLink], CHARINDEX('"', [TaskLink]),
   CHARINDEX('" ',[TaskLink]) - CHARINDEX('"', [TaskLink]) + Len('" '))) - 1), len(Right((SUBSTRING([TaskLink], CHARINDEX('"', [TaskLink]),
   CHARINDEX('" ',[TaskLink]) - CHARINDEX('"', [TaskLink]) + Len('" '))), LEN(SUBSTRING([TaskLink], CHARINDEX('"', [TaskLink]),
   CHARINDEX('" ',[TaskLink]) - CHARINDEX('"', [TaskLink]) + Len('" '))) - 1)) -1)
From Table

这就是TaskLink价值:

ef="00T200007jNUAR" target="_blank">
ef="02H00007QGNHUAP" target="_blank">
ef="00T0007RC5s6UAD" target="_blank">

这就是我的输出(这是我想要的):

00T200007jNUAR
02H00007QGNHUAP
00T0007RC5s6UAD

谢谢!

标签: sql-serversubstring

解决方案


推荐阅读