On 21 Aug 2013, at 5:02pm, Igor Tandetnik <i...@tandetnik.org> wrote:

> I imagine you'd still want to be able to put COLLATE clause on the column 
> definition, as in "create table t (x collate NOCASE);". How is this supposed 
> to work in your hypothetical new world?

It works the same as it does now, I think.  The COLLATE clause in that position 
isn't used for storing the value itself.  It's used later on for when two 
values in that column are compared with one-another.  For example, as the 
default COLLATE for an index defined on that column.  Which would still work 
the same way.

> Collation is a property of the value, similar to type and affinity - it must 
> be, to allow this kind of annotation. Along with other properties, collation 
> then affects the behavior of operators acting on the value.

I'm going to let the SQLite experts argue over that one.  I don't think a 
COLLATE can be a property of a value.  If it was you could compare two 
different values with different collations.  Perhaps it's a property of an 
index component.


On 21 Aug 2013, at 5:11pm, Dan Kennedy <danielk1...@gmail.com> wrote:

> ORDER BY and GROUP BY clauses to consider as well. You want to do:
> 
>  SELECT ... FROM ... ORDER BY <expr> COLLATE nocase;

Yes, those would both make sense.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to