Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法将varchar和==_Php_Postgresql_Laravel 4 - Fatal编程技术网

Php 无法将varchar和==

Php 无法将varchar和==,php,postgresql,laravel-4,Php,Postgresql,Laravel 4,我正在使用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

我正在使用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;
SELECT t.data,convert_from(decode(t.data,'base64'),'utf-8')
FROM table t;
上面给出了我的
错误:意外的“=”
我的查询的版本2:

SELECT t.data,convert_from(decode(CONCAT(t.data,'=='),'base64'),'utf-8')
FROM table t;
SELECT t.data,convert_from(decode(t.data,'base64'),'utf-8')
FROM table t;
上面给出了错误:编码“UTF8”的字节序列无效:0x8c

t、 在我的表t中,数据类型为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;

这个查询字符串周围有单引号还是双引号?我根本没有任何类型的引号。我认为这与t.data值的长度有关。选择t.data,从表t中转换(解码(t.data.promo_代码::text | |'=','base64'),'utf-8');正在给我意外的错误“=”。我认为t.data值的长度是不同的,这是导致错误的原因。抱歉-two
=
-->t.data::text | |'==='谢谢你,罗曼,这个问题已经通过你的建议部分解决了,但实际上,我有一些字符较少的记录抛出了错误。