https://sqlite.org/datatype3.html

4.1. Sort Order

The results of a comparison depend on the storage classes of the operands, 
according to the following rules:

•A value with storage class NULL is considered less than any other value 
(including another value with storage class NULL).
•An INTEGER or REAL value is less than any TEXT or BLOB value. When an INTEGER 
or REAL is compared to another INTEGER or REAL, a numerical comparison is 
performed.
•A TEXT value is less than a BLOB value. When two TEXT values are compared an 
appropriate collating sequence is used to determine the result.
•When two BLOB values are compared, the result is determined using memcmp().

"A TEXT value is less than a BLOB value"


-----Ursprüngliche Nachricht-----
Von: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] Im 
Auftrag von Charles Leifer
Gesendet: Freitag, 12. Juli 2019 16:19
An: General Discussion of SQLite Database <sqlite-users@mailinglists.sqlite.org>
Betreff: [EXTERNAL] [sqlite] BLOB and TEXT comparisons

I ran into a somewhat surprising result and wanted to just get a little 
clarification.

I'll use the following statement as an example:

SELECT SUBSTR(?, 1, 3) == ?

And the parameters will be:

* "abcde"
* "abc"

If I bind both parameters using the same type, the comparison returns True:

* sqlite3_bind_text
* sqlite3_bind_blob

However, if I mix the types, e.g. sqlite3_bind_text("abcde") and
sqlite3_bind_blob("abc") then the comparison returns False.

Fom a byte-to-byte perspective, this comparison should always return True.

What's going on?

Thanks!
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


___________________________________________
 Gunter Hick | Software Engineer | Scientific Games International GmbH | 
Klitschgasse 2-4, A-1130 Vienna | FN 157284 a, HG Wien, DVR: 0430013 | (O) +43 
1 80100 - 0

May be privileged. May be confidential. Please delete if not the addressee.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to