SQLite еквивалент на функцията GREATEST на PostgreSQL

PostgreSQL има полезна функция, наречена GREATEST. Той връща най-голямата стойност от предадените му, както е документирано тук .

Има ли еквивалент в SQLite?

Като бележка, трябва ми само да работи с 2 аргумента.


person Alex Gaynor    schedule 30.01.2010    source източник


Отговори (1)


SELECT MAX(1,2,..)

препратка: https://sqlite.org/lang_corefunc.html#maxoreunc

max(X,Y,...)

Функцията max() с много аргументи връща аргумента с максималната стойност или връща NULL, ако някой аргумент е NULL. Функцията max() с няколко аргумента търси аргументите си отляво надясно за аргумент, който дефинира функция за съпоставяне и използва тази функция за съпоставяне за всички сравнения на низове. Ако нито един от аргументите на max() не дефинира функция за сортиране, тогава се използва функцията за сортиране BINARY. Имайте предвид, че max() е проста функция, когато има 2 или повече аргумента, но работи като агрегатна функция, ако е даден само един аргумент.

person Matthew    schedule 30.01.2010
comment
Добре, може ли някой да обясни странното поведение на функцията max с низове. select max ('rb','VISA', 'Visa', 'Visa Card1', 'VISA VISA Card', 'Visaaa') връща 'rb', Защо?!? - person zlatko; 08.09.2018
comment
@zlatko: звучи като сравнение с малки и големи букви. малките букви идват след големите. - person apenwarr; 22.11.2018
comment
@zlatko - виж ASCII диаграма! - person Vérace; 30.11.2020
comment
Внимавайте, поведението с NULL е различно: PostgreSQL GREATEST връща NULL само ако всички аргументи са NULL. SQLite MAX връща NULL, ако всеки аргумент е NULL. - person pdw; 23.05.2021