sql取字符串中符合指定字符开头指定字符结尾的部分字符串有多少?

sql脚本存在一个字段里,值:/*aaa\n bbb\n*/\n select a \n from tableA —A表\n where part_dt=‘date’ 现在要取出脚本🀄️备注的行数,怎么取、/*开头*/\n及其中间的\n的个数加上—\n及其中间部门的\n的个数,这里是4行

第1个回答  2023-07-11

如果你想要在一个SQL查询中,找出在特定字段值中,符合指定字符开头和指定字符结尾的部分字符串,可以使用 SUBSTRING_INDEX 函数和 LOCATE 函数。

下面是一个具体的例子。

SELECT 

SUBSTRING(script, 

LOCATE('/*', script), 

LOCATE('*/', script) - LOCATE('/*', script) + 2) 

FROM table_name;


这个查询的主要步骤如下:

    使用 LOCATE 函数找出 "/" 和 "/" 在 script 字段中的位置。

    使用 SUBSTRING 函数从 script 字段中提取出位于 "/" 和 "/" 之间的部分字符串。

    注意,这个查询假设 "/" 和 "/" 在每个 script 字段的值中只出现一次。如果 "/" 和 "/" 可能出现多次,或者可能不存在,那么你需要更复杂的查询来处理这些情况。

相似回答
大家正在搜