gpt4 book ai didi

sql - 如何从sql列中提取文本

转载 作者:行者123 更新时间:2023-12-04 05:51:43 26 4
gpt4 key购买 nike

我在 sql 表的一列中有一个模式..

IF PAIRING IS NOT SUCCESSFUL, REPEAT THE PAIRING PROCESS. IF PAIRING IS STILL NOT SUCCESSFUL, REPLACE THE MOTOR.



我想提取文本“配对仍然不成功”。如果“. IF”在“,”之前,则第二个之后的文本以及逗号之后的文本必须是 REPLACE 或 REPAIR 或 TEST..

我试过这种方式..

SUBSTRING( TextName,(PATINDEX('%. IF%,%', TextName) + 9), 20)



子字符串的第三部分目前是硬编码的,但如何对查询进行通用化。

谢谢
拉姆

最佳答案

-- Test Data
DECLARE @T TABLE(
TextName NVARCHAR(4000)
)

INSERT INTO @T
SELECT 'IF PAIRING IS NOT SUCCESSFUL, REPEAT THE PAIRING PROCESS. IF PAIRING IS STILL NOT SUCCESSFUL, REPLACE THE MOTOR.'

INSERT INTO @T
SELECT 'IF NOT WITHIN THE SPECIFIED RANGE, TEST THE MOTOR FOR A SV, SG, OR AN OHR. IF THE CIRCUIT TESTS NORMAL, REPLACE THE MOTOR.'


-- Example Query

SELECT SUBSTRING(TextName, PosPeriod, PosComma - PosPeriod) 'String1'
FROM
(
SELECT TextName,
CHARINDEX('.', TextName) + 5 'PosPeriod', -- 5 is to skip over the '. IF '
CHARINDEX(',', TextName, CHARINDEX('.', TEXTName)+1 ) 'PosComma'
FROM @T
) TEMPTABLE

关于sql - 如何从sql列中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9987642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com