Возвращает самое высокое значение в соответствии с представлением символа в байтах (более высокие значения в нижнем регистре, чем в верхнем регистре).
Измените на select max ('rb','vISA', 'Visa', 'Visa Card1', 'VISA VISA Card', 'Visaaa')
и получите vISA .
Комментарий
И есть ли способ извлечь самую длинную строку?
Если вам нужна самая длинная строка и предполагается, что данные находятся в столбце (в данном случае с именем mystring ) таблицы (в данном случае с именем test ), вы можете использовать: -
SELECT mystring FROM test ORDER BY length(mystring) DESC LIMIT 1;
, например
DROP TABLE IF EXISTS test;
CREATE TABLE IF NOT EXISTS test (mystring TEXT);
INSERT INTO test VALUES ('rb'),('VISA'),('Visa Card1'),('VISA VISA Card'),('Visaaa');
SELECT mystring FROM test ORDER BY length(mystring) DESC LIMIT 1;
Результаты: -
![enter image description here](https://i.stack.imgur.com/zWvbc.jpg)
- Обратите внимание, что результат будет произвольным (из самой длинной строки), если будет несколько строк одинаковой самой длинной длины.