"select JSON_UNQUOTE(JSON_EXTRACT(‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’, ‘$.shouhuodd’)) 在数 .."
select JSON_UNQUOTE(JSON_EXTRACT(‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’, ‘$.shouhuodd’))
在数据库执行 是 福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号与 在集算器结果不一样集算器变成了 blob
select JSON_UNQUOTE(JSON_EXTRACT(‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’, ‘$.shouhuodd’))=connect(“MYSQL”)=A2.query@x(A1)
试了下没有返回 blob,而是正确的串。
SPL 版本:20211104
MySQl 版本:8.0.26
或者直接 json 串拿出来给 SPL 处理?http://d.raqsoft.com.cn:6999/esproc/func/json.html
数据库版本是什么? 确认下 jdbc 的 jar 包的版本是否和数据库匹配,不匹配的话替换下 jar 包,在 common jdbc 目录下。另外,可以截图发下,返回的结果是什么。
不直接 json 是因为 字段存的就是 json 报文,
装了个 5.7.36 的也没问题试试这个 jdbc 的 jarhttps://note.youdao.com/s/6XnDn4Gf
=connect(“mysql5”)=A1.query@x (“SELECT * FROM jsontest”)=A2.new(id,json(jsonfield).shouhuodd)
CREATE TABLE jsontest (id int(11) DEFAULT NULL,jsonfield varchar(2000) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
jsontest
id
jsonfield
INSERT INTO jsontest (id,jsonfield) VALUES(1,‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’),(2,‘{“shouhuodd”:“北京市海淀区上地信息路 19 号商服中心 402 室”}’);
我已经解决了, 使用 cast() 函数转换, 数据库每行 json 的 key 是不一样的, 有些行 没有, 使用 spl 解析是会报错的, 提示不存在select cast(JSON_UNQUOTE(JSON_EXTRACT(‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’, ‘$.shouhuodd’))as char) shouhuodd
select JSON_UNQUOTE(JSON_EXTRACT(‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’, ‘$.shouhuodd’))
=connect(“MYSQL”)
=A2.query@x(A1)
试了下没有返回 blob,而是正确的串。
SPL 版本:20211104
MySQl 版本:8.0.26
或者直接 json 串拿出来给 SPL 处理?http://d.raqsoft.com.cn:6999/esproc/func/json.html
数据库版本是什么? 确认下 jdbc 的 jar 包的版本是否和数据库匹配,不匹配的话替换下 jar 包,在 common jdbc 目录下。另外,可以截图发下,返回的结果是什么。
不直接 json 是因为 字段存的就是 json 报文,
装了个 5.7.36 的也没问题
试试这个 jdbc 的 jar
https://note.youdao.com/s/6XnDn4Gf
=connect(“mysql5”)
=A1.query@x (“SELECT * FROM jsontest”)
=A2.new(id,json(jsonfield).shouhuodd)
CREATE TABLE
jsontest
(id
int(11) DEFAULT NULL,jsonfield
varchar(2000) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO jsontest (id,jsonfield) VALUES
(1,‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’),
(2,‘{“shouhuodd”:“北京市海淀区上地信息路 19 号商服中心 402 室”}’);
我已经解决了, 使用 cast() 函数转换, 数据库每行 json 的 key 是不一样的, 有些行 没有, 使用 spl 解析是会报错的, 提示不存在
select cast(JSON_UNQUOTE(JSON_EXTRACT(‘{“shouhuodd”:“福建省龙岩市新罗区福建省龙岩市雁石镇雁新路 6 号”}’, ‘$.shouhuodd’))as char) shouhuodd