Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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 带前导空格的Postgres字符串比较_Postgresql_Postgresql 9.5 - Fatal编程技术网

Postgresql 带前导空格的Postgres字符串比较

Postgresql 带前导空格的Postgres字符串比较,postgresql,postgresql-9.5,Postgresql,Postgresql 9.5,我希望Postgres在进行字符串比较时将前导空格作为字符串的一部分。但是,9.5版并非如此 select ' s' > 'ny'; ?column? ---------- t (1 row) 我希望它返回false,我认为应该返回false,因为空格的ASCII值小于'n'。是否有一些设置需要更改,以便返回false?请尝试: select ' s'::bytea > 'ny'::bytea; 我参加了11级博士后考试,效果不错。请参阅。 排序规则功能允许指定每列甚至每项操

我希望Postgres在进行字符串比较时将前导空格作为字符串的一部分。但是,9.5版并非如此

select ' s' > 'ny';
 ?column?
----------
 t
(1 row)
我希望它返回false,我认为应该返回false,因为空格的ASCII值小于'n'。是否有一些设置需要更改,以便返回false?

请尝试:

select ' s'::bytea > 'ny'::bytea;
我参加了11级博士后考试,效果不错。请参阅。

排序规则功能允许指定每列甚至每项操作的数据排序顺序和字符分类行为。


当数据库系统必须执行排序或字符分类时,它使用输入表达式的排序规则。例如,在ORDER BY子句和函数或运算符调用(如ORDER BY name_column::bytea)中会发生这种情况
postgres=# select ' s' > 'ny' collate "en_GB.utf8";
?column? 
----------
t
(1 row)

postgres=# select ' s' > 'ny' collate "C";
?column? 
----------
f
(1 row)