That's completely right. The datastructure is not defined on my own.. It is Spring Boots hibernate / jpa which is defining the datastructure for my unit tests... BUT: I cannot understand why the same query is working without the LOWER() function.
CREATE TABLE TEST (ID BIGINT, SOMEVALUE CHARACTER(255)); INSERT INTO TEST (ID, SOMEVALUE) VALUES(1, 'Y'); SELECT * FROM TEST WHERE SOMEVALUE = 'Y'; is working fine... The shorted value with one character is also right-padded with spaces but the query is working fine... The point is that I am using h2 as an in-memory database for my unit tests in a spring boot application. The tests are the same but after upgrading to h2 v2.. my unit tests are failing... I fixed my issue by giving the datatype a fixed length of 1 but I just wanted to know if this is an unseen issue or if this is a wanted feature Evgenij Ryazanov schrieb am Montag, 4. Juli 2022 um 15:01:28 UTC+2: > CHARACTER is a fixed-width data type. Columns of CHARACTER data type > always have exactly one character. Columns of CHARACTER(255) data type > always have exactly 255 characters, shorted values are right-padded with > spaces. If you need to store strings of different length, you should always > use CHARACTER VARYING / VARCHAR data type instead. If you need to store > exactly one character, you can use CHARACTER or CHARACTER(1); but don't > use CHARACTER(255) for this purpose, such choice is obliviously wrong. > > More details are described here: > https://github.com/h2database/h2database/issues/3385 > > > > -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/h2-database/685ed104-0283-44c4-a23e-0b6ebf2ddf63n%40googlegroups.com.
