Please don’t top-post.
On Tuesday, May 24, 2022, jian he <
jian.universality@gmail.com> wrote:
Otherwise, all input expressions must have the same implicit collation derivation or the default collation. If any non-default collation is present, that is the result of the collation combination. Otherwise, the result is the default collation.
I think the above quote part can be used to explain the following examples.
CREATE TABLE test1 ( a text COLLATE "de_DE", b text COLLATE "es_ES", c text );
SELECT a < 'foo' FROM test1;
SELECT c < 'foo' FROM test1;
But the non-default seems not that correct for me. Like a column if it does not mention anything, then the default value is null. So
create table test111( a text) The default collation for column a is the same as the output of show lc_collate.
so there is no non-default?
I’m not following the point you are trying to make. table111.a contributes the default collation for any expression needing a collation implicitly resolved.
David J.