我正在使用postgresql 9我正在运行查询base64解码值并打印其结果:
SELECT convert_from(decode(CONCAT('aWFuY3VkYXRlc3QrMTAwQGdtYWlsLmNvbQ','=='),'base64'),'utf-8');
但是,当我在表格上运行相同的查询时,我会发现错误:我查询的版本1:
SELECT t.data,convert_from(decode(CONCAT(t.data,'=='),'base64'),'utf-8')
FROM table t;
以上给我ERROR: unexpected "="
我查询的版本2:
SELECT t.data,convert_from(decode(t.data,'base64'),'utf-8')
FROM table t;
以上给我ERROR: invalid byte sequence for encoding "UTF8": 0x8c
t.data是我的表t。
中的datatype varchar(255)我不知道如何解决此问题。是否有不同的方法来解码base64数据并从查询中打印出来?
只需使用||
而代替concat
:
SELECT convert_from(decode('aWFuY3VkYXRlc3QrMTAwQGdtYWlsLmNvbQ' || '==','base64'),'utf-8');
convert_from
---------------------------
iancudatest+100@gmail.com
表:
SELECT t.data,
convert_from(decode(t.data::text || '==','base64'),'utf-8')
FROM table t;