Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
PostgreSQL和PHP。从查询中提取会将空间添加到字符字符串中_Sql_Arrays_String_Postgresql_Fetch - Fatal编程技术网

PostgreSQL和PHP。从查询中提取会将空间添加到字符字符串中

PostgreSQL和PHP。从查询中提取会将空间添加到字符字符串中,sql,arrays,string,postgresql,fetch,Sql,Arrays,String,Postgresql,Fetch,我有一张有几个字段的桌子。一个字段是char[128]。现在我在那里存储了一个字符串'hello'。 现在。在PHP中,我调用:arr=pg\u fetch\u数组(pg\u query('select*from table'))但是当我从这个列中获取值时,我会得到'hello'。当我使用pgAdmin执行“从表中选择字符长度(此字段)”时,我得到的是值5而不是6。你知道为什么PHP中有一个额外的空间吗 使用VARCHAR而不是CHAR可以解决此问题。将填充长度记录为: 字符(n),字符(n)

我有一张有几个字段的桌子。一个字段是
char[128]
。现在我在那里存储了一个字符串
'hello'
。 现在。在PHP中,我调用:
arr=pg\u fetch\u数组(pg\u query('select*from table'))
但是当我从这个列中获取值时,我会得到
'hello'
。当我使用pgAdmin执行“从表中选择字符长度(此字段)”时,我得到的是值5而不是6。你知道为什么PHP中有一个额外的空间吗


使用
VARCHAR
而不是
CHAR
可以解决此问题。

将填充长度记录为:

字符(n),字符(n)固定长度,空白填充

例如:

t=# with c(t) as (values('abc'::char(3)),('a'::char(3)))
select t,concat(t,'.') from c;
  t  | concat
-----+--------
 abc | abc.
 a   | a  .
(2 rows)
关于长度:

t=# with c(t) as (values('abc'::char(3)),('a'::char(3)))
select t,concat(t,'.'),octet_length(t),char_length(t) from c;
  t  | concat | octet_length | char_length
-----+--------+--------------+-------------
 abc | abc.   |            3 |           3
 a   | a  .   |            3 |           1
(2 rows)

使用
字符变化
文本
确实会改变这种行为

将填充长度记录为:

字符(n),字符(n)固定长度,空白填充

例如:

t=# with c(t) as (values('abc'::char(3)),('a'::char(3)))
select t,concat(t,'.') from c;
  t  | concat
-----+--------
 abc | abc.
 a   | a  .
(2 rows)
关于长度:

t=# with c(t) as (values('abc'::char(3)),('a'::char(3)))
select t,concat(t,'.'),octet_length(t),char_length(t) from c;
  t  | concat | octet_length | char_length
-----+--------+--------------+-------------
 abc | abc.   |            3 |           3
 a   | a  .   |            3 |           1
(2 rows)

使用
字符变化
文本
确实会改变这种行为

不要使用
char
它几乎没有意义。不要使用
char
它几乎没有意义。