comparenocase

Назначение

Функция comparenocase сравнивает два значения и определяет, идентична ли первая строка второй строке.

Сравнение выполняется без учета регистра входных значений. Функция принимает два строковых аргумента и возвращает число, означающее, находится ли первая строка до, вместе или после второй строки согласно лексикографическому порядку.

Лексикографическое сравнение похоже на алфавитное сравнение. Однако необходимо учитывать два наиболее распространенных замечания, касающихся лексикографического порядка:

  1. Символы верхнего регистра учитываются "перед" символами нижнего регистра. "Z" идет до "a".Это замечание в меньше степени относится к использованию данной функции, поскольку сравнение выполняется без учета регистра.

  2. Числа, которые сохраняются как символы (строкового типа), сравниваются как символы, а не как числа. "100" идет до "12", поскольку символ "0" идет перед символом "2".

Функция comparenocase обычно используется вместе с операторами неравенства SRL например >, <, >=, и ⇐ :

Чтобы проверить, идет ли первая строка перед второй, можно использовать выражение if(comparenocase('a','b') < 0, 'before','after or equal'). if в данном примере сравнивает число, возвращаемое функцией comparenocase, со значением 0. Если число меньше 0, т.е. если число отрицательное, то условие является верным, а "предшествующая" строка возвращается оператором if. В противном случае, если две строки одинаковые, либо если первая идет после второй, то возвращается строка "после или равно".

Синтаксис

comparenocase(строка,строка)

Аргументы

Требует наличия двух аргументов строкового или текстового типа. Важен порядок аргументов, поскольку он совершенно меняет возвращаемое значение, в зависимости от того, какое слово первое, а какое второе.

Возвращаемое значение

Функция возвращает числовое значение, -1, 0, или 1:

  • Если первое значение меньше второго, возвращается -1.

  • Если оба значения равны, возвращается 0.

  • Если первое значение больше второго, возвращается 1.

Если одно из входных строк нулевое, то поведение этой функции не определено. Следовательно, возвращается нулевое значение.

Примеры

Выражение

Примечания

Возвращаемое значение

comparenocase("собака", "собака")

Идентичные строки

0

comparenocase("кошка", "собака")

По алфавиту, "к" в "кошка" идет перед "с" в "собака".

-1

comparenocase("собака", "кошка")

По алфавиту, "с" в "собака" идет перед "к" в "кошка".

1

comparenocase("собака", "СОБАКА")

Пример одного слова в верхнем и нижнем регистре

0