Mysql mariadb Regexp有时在存储过程中返回空
需要帮助,我有几天的麻烦 问题是在存储过程上运行子查询的regexp,有时返回空,有时返回正确Mysql mariadb Regexp有时在存储过程中返回空,mysql,sql,regex,stored-procedures,mariadb,Mysql,Sql,Regex,Stored Procedures,Mariadb,需要帮助,我有几天的麻烦 问题是在存储过程上运行子查询的regexp,有时返回空,有时返回正确 REGEXP ( select group_concat(_data_grupkasbank_auth.datahirarki separator '|') from _data_grupkasbank_auth where _data_grupkasbank_auth.uid='1' ) 如果我用字符串值替换子查询,它总是正确的: R
REGEXP
(
select group_concat(_data_grupkasbank_auth.datahirarki separator '|') from _data_grupkasbank_auth where _data_grupkasbank_auth.uid='1'
)
如果我用字符串值替换子查询,它总是正确的:
REGEXP
(
'/Sangatta/K3PC/|/Yayasan Balikpapan/Masjid/'
)
在这里,我的dbfiddle运行非常好,但在direct myserver windows 10、mariadb 10.3.23上无法运行
捕获:
评论
select group_concat(_data_grupkasbank_view.kode_grupkasbank separator ',' )
from _data_grupkasbank_view
where _data_grupkasbank_view.hirarki_grupkasbank REGEXP
( SELECT group_concat(_data_grupkasbank_auth.datahirarki separator '|')
from _data_grupkasbank_auth
where _data_grupkasbank_auth.uid='1'
)
INTO v_tempsql
我不知道,但是这项工作,我用它来分配集合v_temp2=v_temp1
-- //////////
DECLARE v_temp1 TEXT;
DECLARE v_temp2 TEXT;
select
group_concat(yourfield separator '|')
INTO
v_temp1
from
table;
SET v_temp2 = v_temp1;
select
field1, field2
from table
where
field1 regexp v_temp2;
-- ///////////
我不知道,但是这项工作,我用它来分配集合v_temp2=v_temp1
-- //////////
DECLARE v_temp1 TEXT;
DECLARE v_temp2 TEXT;
select
group_concat(yourfield separator '|')
INTO
v_temp1
from
table;
SET v_temp2 = v_temp1;
select
field1, field2
from table
where
field1 regexp v_temp2;
-- ///////////
你不能简单地做一个GROUP_CONCAT而不是游标循环吗?重点不是游标循环而是regexp结果,我尝试删除游标并使用GROUP_CONCAT建议的结果,但仍然是相同的,有时为空,有时为正确,这里的查询:选择GROUP_CONCAT_data_grupkasbank_view.kode_grupkasbank separator',“从"数据"grupkasbank"视图中的"数据"grupkasbank"视图中的"hirrki"grupkasbank REGEXP选择组"concat"数据"grupkasbank"auth.datahirraki分隔符|从"数据"grupkasbank"auth视图中的"auth其中的"数据;试一下在集合中查找。这里也一样。任何消息,@Irwanto??我使用2个临时变量,这个工作,声明v_temp1文本;声明v_temp2文本;从表中将组_concatyourfield分隔符“|”选择为v_temp1;设置v_temp2=v_temp1;从表中选择field1、field2,其中field1 regexp v_temp2;你不能简单地做一个GROUP_CONCAT而不是游标循环吗?重点不是游标循环而是regexp结果,我尝试删除游标并使用GROUP_CONCAT建议的结果,但仍然是相同的,有时为空,有时为正确,这里的查询:选择GROUP_CONCAT_data_grupkasbank_view.kode_grupkasbank separator',“从"数据"grupkasbank"视图中的"数据"grupkasbank"视图中的"hirrki"grupkasbank REGEXP选择组"concat"数据"grupkasbank"auth.datahirraki分隔符|从"数据"grupkasbank"auth视图中的"auth其中的"数据;试一下在集合中查找。这里也一样。任何消息,@Irwanto??我使用2个临时变量,这个工作,声明v_temp1文本;声明v_temp2文本;从表中将组_concatyourfield分隔符“|”选择为v_temp1;设置v_temp2=v_temp1;从表中选择field1、field2,其中field1 regexp v_temp2;