1. 分码JSON字符串 :
{“FlexList”:[{“AuxC”:{“AuxId”:“642acf8a331093”,“AuxNumber”:“无”},“AuxS”:{“AuxId”:“6427a6b788f759”,“AuxNumber”:“000”},“Qty”:1.0}]}
2. 把JSON字符串,转换为16进制:
7b22466c65784c697374223a5b7b2241757843223a7b224175784964223a223634326163663861333331303933222c224175784e756d626572223a22e697a0227d2c2241757853223a7b224175784964223a223634323761366237383866373539222c224175784e756d626572223a22303030227d2c22517479223a332e307d5d7d
或者用MySQL语句,转换:SELECT hex(‘{“FlexList”:[{“AuxC”:{“AuxId”:“642acf8a331093”,“AuxNumber”:“无”},“AuxS”:{“AuxId”:“6427a6b788f759”,“AuxNumber”:“000”},“Qty”:1.0}]}’) AS ‘HEX字符串’;
3. 再用Navicat语句更新:
DECLARE
v_hex_string VARCHAR2(32767); -- 根据实际长度调整大小
v_blob BLOB;
BEGIN
v_hex_string := '替换为刚刚的16进制字符串';
-- 将十六进制字符串转换为RAW类型的数据
v_blob := HEXTORAW(v_hex_string);
-- 更新数据表中的BLOB字段(更新对应表)
UPDATE T_PUR_POORDERENTRY
SET F_SCAG_FDEMAL_TAG = v_blob
WHERE FENTRYID = 165096;
END;
/
最新调整
修改后的语句,可以直接在Oracle里执行。 调整了这一行 v_blob := utl_raw.cast_to_raw(v_hex_string);
DECLARE
v_hex_string VARCHAR2(32767); -- 根据实际长度调整大小
v_blob BLOB;
BEGIN
v_hex_string := '{"FlexList":[{"AuxC":{"AuxId":"642acf8a331093","AuxNumber":"无"},"AuxS":{"AuxId":"63d7649adb7ebe","AuxNumber":"32"},"Qty":1.0,"Flag":0.0}]}';
v_blob := utl_raw.cast_to_raw(v_hex_string);
-- 更新数据表中的BLOB字段
UPDATE T_PRD_MOENTRY
SET F_SCAG_LARGETEXT_TAG = v_blob
WHERE FENTRYID = 195281;
END;
/