Содержание

Циклы в программировании. Цикл while. Урок 10 курса «Python. Введение в программирование»

Циклы являются такой же важной частью структурного программирования, как условные операторы. С помощью циклов можно организовать повторение выполнения участков кода. Потребность в этом возникает довольно часто. Например, пользователь последовательно вводит числа, и каждое из них требуется добавлять к общей сумме. Или нужно вывести на экран квадраты ряда натуральных чисел и тому подобные задачи.

Цикл while

«While» переводится с английского как «пока». Но не в смысле «до свидания», а в смысле «пока имеем это, делаем то».

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

while логическое_выражение {
    выражение 1;
    …
    выражение n;
}

Это похоже на условный оператор if. Однако в случае циклических операторов их тела могут выполняться далеко не один раз. В случае

if, если логическое выражение в заголовке возвращает истину, то тело выполняется единожды. После этого поток выполнения программы возвращается в основную ветку и выполняет следующие выражения, расположенные ниже всей конструкции условного оператора.

В случае while, после того как его тело выполнено, поток возвращается к заголовку цикла и снова проверяет условие. Если логическое выражение возвращает истину, то тело снова выполняется. Потом снова возвращаемся к заголовку и так далее.

Цикл завершает свою работу только тогда, когда логическое выражение в заголовке возвращает ложь, то есть условие выполнения цикла больше не соблюдается. После этого поток выполнения перемещается к выражениям, расположенным ниже всего цикла. Говорят, «происходит выход из цикла».

Рассмотрите блок-схему цикла while.

На ней ярко-голубыми прямоугольниками обозначена основная ветка программы, ромбом – заголовок цикла с логическим выражением, бирюзовым прямоугольником – тело цикла.

С циклом while возможны две исключительные ситуации:

  • Если при первом заходе в цикл логическое выражение возвращает False, то тело цикла не выполняется ни разу. Эту ситуацию можно считать нормальной, так как при определенных условиях логика программы может предполагать отсутствие необходимости в выполнении выражений тела цикла.

  • Если логическое выражение в заголовке while никогда не возвращает False, а всегда остается равным True, то цикл никогда не завершится, если только в его теле нет оператора принудительного выхода из цикла (break) или вызовов функций выхода из программы – quit(), exit() в случае Python. Если цикл повторяется и повторяется бесконечное количество раз, то в программе происходит зацикливание

    . В это время она зависает и самостоятельно завершиться не может.

Вспомним наш пример из урока про исключения. Пользователь должен ввести целое число. Поскольку функция input() возвращает строку, то программный код должен преобразовать введенное к целочисленному типу с помощью функции int(). Однако, если были введены символы, не являющиеся цифрами, то возникает исключение ValueError, которое обрабатывается веткой except. На этом программа завершается.

Другими словами, если бы программа предполагала дальнейшие действия с числом (например, проверку на четность), а она его не получила, то единственное, что программа могла сделать, это закончить свою работу досрочно.

Но ведь можно просить и просить пользователя корректно вести число, пока он его не введет. Вот как может выглядеть реализующий это код:

n = input("Введите целое число: ")
 
while type(n) != int:
    try:
        n = int(n)
    except ValueError:
        print("Неправильно ввели!")
        n = input("Введите целое число: ")
 
if n % 2 == 0:
    print("Четное")
else:
    print("Нечетное")

Примечание 1.

Не забываем, в языке программирования Python в конце заголовков сложных инструкций ставится двоеточие.

Примечание 2. В выражении type(n) != int с помощью функции type() проверяется тип переменной n. Если он не равен int, то есть значение n не является целым числом, а является в данном случае строкой, то выражение возвращает истину. Если же тип n равен int, то данное логическое выражение возвращает ложь.

Примечание 3. Оператор % в языке Python используется для нахождения остатка от деления. Так, если число четное, то оно без остатка делится на 2, то есть остаток будет равен нулю. Если число нечетное, то остаток будет равен единице.

Проследим алгоритм выполнения этого кода. Пользователь вводит данные, они имеют строковый тип и присваиваются переменной n. В заголовке while проверяется тип n. При первом входе в цикл тип n всегда строковый, то есть он не равен int. Следовательно, логическое выражение возвращает истину, что позволяет зайти в тело цикла.

Здесь в ветке try совершается попытка преобразования строки к целочисленному типу. Если она была удачной, то ветка except пропускается, и поток выполнения снова возвращается к заголовку

while.

Теперь n связана с целым числом, следовательно, ее тип int, который не может быть не равен int. Он ему равен. Таким образом логическое выражение type(n) != int возвращает False, и весь цикл завершает свою работу. Далее поток выполнения переходит к оператору if-else, находящемуся в основной ветке программы. Здесь могло бы находиться что угодно, не обязательно условный оператор.

Вернемся назад. Если в теле try попытка преобразования к числу была неудачной, и было выброшено исключение ValueError

, то поток выполнения программы отправляется в ветку except и выполняет находящиеся здесь выражения, последнее из которых просит пользователя снова ввести данные. Переменная n теперь имеет новое значение.

После завершения except снова проверяется логическое выражение в заголовке цикла. Оно даст True, так как значение n по-прежнему строка.

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

Рассмотрим следующий пример:

total = 100
 
i = 0
while i < 5:
    n = int(input())
    total = total - n
    i = i + 1
 
print("Осталось", total)

Сколько раз «прокрутится» цикл в этой программе, то есть сколько итераций он сделает? Ответ: 5.

  1. Сначала переменная i равна 0. В заголовке цикла проверяется условие i < 5, и оно истинно. Тело цикла выполняется. В нем меняется значение i, путем добавления к нему единицы.

  2. Теперь переменная i равна 1. Это меньше пяти, и тело цикла выполняется второй раз. В нем

    i меняется, ее новое значение 2.

  3. Два меньше пяти. Тело цикла выполняется третий раз. Значение i становится равным трем.

  4. Три меньше пяти. На этой итерации i присваивается 4.

  5. Четыре по прежнему меньше пяти. К i добавляется единица, и теперь ее значение равно пяти.

Далее начинается шестая итерация цикла. Происходит проверка условия i < 5. Но поскольку теперь оно возвращает ложь, то выполнение цикла прерывается, и его тело не выполняется.

«Смысловая нагрузка» данного цикла – это последовательное вычитание из переменной

total вводимых чисел. Переменная i в данном случае играет только роль счетчика итераций цикла. В других языках программирования для таких случаев предусмотрен цикл for, который так и называется: «цикл со счетчиком». Его преимущество заключается в том, что в теле цикла не надо изменять переменную-счетчик, ее значение меняется автоматически в заголовке for.

В языке Python тоже есть цикл for. Но это не цикл со счетчиком. В Питоне он предназначен для перебора элементов последовательностей и других сложных объектов. Данный цикл и последовательности будут изучены в последующих уроках.

Для while наличие счетчика не обязательно. Представим, что надо вводить числа, пока переменная total больше нуля. Тогда код будет выглядеть так:

total = 100
 
while total > 0:
    n = int(input())
    total = total - n
 
print("Ресурс исчерпан")

Сколько раз здесь выполнится цикл? Неизвестно, все зависит от вводимых значений. Поэтому у цикла со счетчиком известно количество итераций, а у цикла без счетчика – нет.

Самое главное для цикла while – чтобы в его теле происходили изменения значений переменных, которые проверяются в его заголовке, и чтобы хоть когда-нибудь наступил случай, когда логическое выражение в заголовке возвращает False. Иначе произойдет зацикливание.

Примечание 1. Не обязательно в выражениях total = total - n и i = i + 1 повторять одну и ту же переменную. В Python допустим сокращенный способ записи подобных выражений: total -= n и i += 1.

Примечание 2. При использовании счетчика он не обязательно должен увеличиваться на единицу, а может изменяться в любую сторону на любое значение. Например, если надо вывести числа кратные пяти от 100 до 0, то изменение счетчика будет таким i = i - 5, или i -= 5.

Примечание 3. Для счетчика не обязательно использовать переменную с идентификатором i. Можно назвать переменную-счетчик как угодно. Однако так принято в программировании, что счетчики обозначают именами i и j (иногда одновременно требуются два счетчика).

Практическая работа

  1. Измените последний код из урока так, чтобы переменная total не могла уйти в минус. Например, после предыдущих вычитаний ее значение стало равным 25. Пользователь вводит число 30. Однако программа не выполняет вычитание, а выводит сообщение о недопустимости операции, после чего осуществляет выход из цикла.

  2. Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20. Возведение в степень в Python обозначается как **. Фрагмент вывода:

    ...
      32
      64
     128
     256
     512
    1024
    ...

Примеры решения и дополнительные уроки в pdf-версии и android-приложении курса


В чем разница между операторами == и ===?

Прочее › Java › Есть ли ошибка в коде boolean b 1 2 Java

Оператор == сравнивает на равенство, а вот === — на идентичность. Плюс оператора === состоит в том, что он не приводит два значения к одному типу. Именно из-за этого он обычно и используется.

  1. Какая разница между == и === в условии if?
  2. Что делает оператор === JS?
  3. Что значит == в JavaScript?
  4. Что значит *=?
  5. Что значит =~?
  6. Чем отличается от == В питоне?
  7. Что значит === в php?
  8. Что такое == в Python?
  9. Какие существуют операторы?
  10. Что означает && в JS?
  11. Для чего используется оператор
  12. Что означает +=?
  13. Чему равен null JS?
  14. Какие есть операторы в программировании?
  15. Что значит ++ в программировании?
  16. Что значит & в С ++?
  17. Что означает оператор?
  18. Что делает if-else?
  19. Что значит if и else?
  20. Что указывается после оператора if?
  21. Что значит i ++ в JavaScript?
  22. Что такое null и undefined?
  23. Зачем нам играть JS?
  24. Что означает * в C?
  25. Как найти в коде?
  26. Как работает тег code?
  27. Что Что означает код?

Какая разница между == и === в условии if?

«==» — это сравнение с приведением к одному типу, а «===» — сравнение без приведения к одному типу.

Что делает оператор === JS?

Оператор строгого равенства === проверяет равенство без приведения типов. Другими словами, если a и b имеют разные типы, то проверка a === b немедленно возвращает false без попытки их преобразования. Ещё есть оператор строгого неравенства!==, аналогичный!=.

Что значит == в JavaScript?

JavaScript предоставляет три оператора сравнения величин: равенство («двойное равно») использует == (en-US), строгое равенство (или «тройное равно» или «идентично») использует === (en-US), и Object.is (новшество из ECMAScript 6).

Что значит *=?

Оператор *= сначала умножает значение выражения (в правой части оператора) на значение переменной или свойства (в левой части оператора). Затем оператор присваивает результат этой операции переменной или свойству.

Что значит =~?

=~ (проверка соответствия строки маске)

Этот оператор выполняет функцию, схожую c функцией оператора ==, сравнивая переменную, содержащую строку с маской.

Чем отличается от == В питоне?

В Python есть два очень похожих оператора для проверки равенства двух объектов. Эти два оператора is и ==. Здесь становится очевидным, что эти операторы не одинаковы. Разница заключается в том, что is проверяет идентичность (объектов), а == проверяет равенство (значения).

Что значит === в php?

PHP поддерживает операции сравнения > (больше), >= (больше либо равно), == (равно),!= (не равно), < (меньше) и <= (меньше либо равно). Он также поддерживает операторы строгого равенства: === (равно и одного типа) и!== (не равно или не одного типа).

Что такое == в Python?

Присваивание (=)

Присваивает значение справа левой части. Стоит обратить внимание, что == используется для сравнения, а = — для присваивания.

Какие существуют операторы?

Операторы:

  • Операторы присваивания
  • Операторы сравнения
  • Арифметические операторы
  • Битовые (поразрядные) операторы
  • Логические операторы
  • Строковые операторы
  • Условный (тернарный) оператор
  • Оператор запятая

Что означает && в JS?

Логическое И (&&) вычисляет операнды слева направо, возвращая сразу значение первого попавшего ложноподобного операнда; если все значения истиноподобны, возвращается значение последнего операнда.

Для чего используется оператор

Логический оператор OR: ||

Логический оператор OR (||) возвращает логическое значение true, если один или оба операнда имеют значение, true и возвращает в false противном случае. Операнды неявно преобразуются в тип bool перед вычислением, а результат имеет тип bool.

Что означает +=?

Оператор сложения с присваиванием (+=) добавляет значение правого операнда к переменной и присваивает переменной результат. Типы двух операндов определяют поведение оператора сложения с присваиванием. Добавление или конкатенация возможны.

Чему равен null JS?

Значение null представляет отсутствие какого-либо объектного значения. В JavaScript, null является примитивом, и в контексте логических операций, рассматривается как ложное (falsy).

Какие есть операторы в программировании?

В большинстве процедурных языков программирования набор операторов практически одинаков и состоит из оператора присваивания, операторов выбора, операторов цикла, оператора вызова процедуры, операторов перехода. Иногда выделяют также пустой (отсутствие действия) и составной операторы.

Что значит ++ в программировании?

Префиксный оператор инкремента (++) добавляет один к своему операнду; это увеличенное значение является результатом выражения.

Что значит & в С ++?

Побитовый оператор AND (&) сравнивает каждый бит первого операнда с соответствующим битом второго операнда.

Что означает оператор?

Оператор — это специальный символ или выражение для проверки, изменения или сложения величин. Например, оператор сложения (+) суммирует два числа let i = 1 + 2, а логический оператор И && объединяет два логических значения if enteredDoorCode && passedRetinaScan.

Что делает if-else?

Оператор if-else управляет условным ветвлением. Операторы в if-branch выполняются только в том случае, если condition вычисляется как ненулевое значение (или true). Если значение не равно нулю condition, выполняется следующая инструкция, а оператор, следующий за необязательным else, пропускается.

Что значит if и else?

If-then-else — это условные конструкции в языках программирования: если (if) что-то истинно, тогда (then) выполнить одно действие, иначе (else) выполнить другое действие.

Что указывается после оператора if?

После слова if указывается проверяемое условие (x > 0), завершающееся двоеточием.

Что значит i ++ в JavaScript?

I — просто популярное название переменной. ++ — оператор инкремента.

Что такое null и undefined?

Отличие null от undefined

Null является определенным значением отсутствия объекта или отсутствия значения для которого внутри объекта определен ключ. undefined обозначает неопределенность, а именно то что контейнер был создан но его значение не определили или свойство не было определено вовсе.

Зачем нам играть JS?

Самое известное применение JS — это, конечно же, веб-разработка. Чаще всего к JS прибегают, когда нужно добавить динамичности на сайт или сделать браузерное приложение, но при желании на нём можно написать и бэкенд.

Что означает * в C?

Что такое указатели в C++

Чтобы пользоваться указателями, вам нужно использовать два оператора: * — показывает значение переменной по заданному адресу (показывает, кто живет в этом номере). Если вы используете оператор *, то вы занимаетесь операцией разыменование указателя.

Как найти в коде?

Нажмите правой кнопкой в любом месте на странице и выберите Просмотреть код. Вы увидите весь обработанный HTML-код страницы. Чтобы найти нужный элемент в нем, используйте сочетания клавиш Ctrl + F (в Windows) или Command + F (в macOS).

Как работает тег code?

Для обозначения фрагментов кода есть специальный тег, который так и называется <code>. С его помощью размечается любой фрагмент текста, который распознается компьютером: код программы, разметки, название файла и так далее. Какого-то специального способа указать, на каком языке написан фрагмент кода, у тега <code> нет.

Что Что означает код?

Код — правило (алгоритм) сопоставления каждому конкретному сообщению строго определённой комбинации символов (знаков) (или сигналов). Код (городское ориентирование) — последовательность букв и цифр, подтверждающая выполнение задания. Q-код — трёхбуквенный код, используемый в радиосвязи.

$ существует — Руководство по MongoDB

Документы домой → MongoDB Руководство

на этой странице

  • Определение
  • Примеры

Определение

$ Exist : } }

Когда истинно, $exists соответствует документам, которые содержат поле, включая документы, в которых значение поля ноль . Если ложно, запрос возвращает только документы, не содержащие поля. [1]

MongoDB $ существует соответствует ли не оператору SQL существует . Для SQL существует , см. $ в оператор.

См. также:

  • $нин

  • 0008

[1] Начиная с MongoDB 4. 2, пользователи больше не могут использовать фильтр запроса $type: 0 как синоним для $существует:ложь . Чтобы запросить нулевые или отсутствующие поля, см. Запрос пустых или отсутствующих полей.

Примеры

Существует и не равно

Рассмотрим следующий пример:

 
db.inventory.find({ nin: 5, $1} [: true } )

Этот запрос выберет все документы в инвентарной коллекции где поле qty существует и его значение не равно 5 или 15 .

Нулевые значения

В следующих примерах используется коллекция с именем записей с следующие документы:

 5 a: 3, b: 2 } 
{a: 5, b: 5, c: null}
{a: 3, b: null, c: 8}
{ а: ноль, б: 3, с: 9}
{ а: 1, б: 2, с: 3}
{ а: 2, с: 5}
{
{ a: 4 }
{ b: 2, c: 4 }
{ b: 2 }
{ c: 6 }
$exists: true

Следующий запрос указывает предикат запроса a: { $exists: true } :

 
db. records.find( { a: { $exists: true } } )

Результаты состоят из тех документов, которые содержат поле a , включая документ, поле которого a содержит нулевое значение:

 
{ a: 5, b: 5, c: null }
{ a: 3, b: null, c: 8 }
{ а: ноль, б: 3, с: 9}
{ а: 1, б: 2, с: 3}
{ а: 2, с: 5}
{ a: 3, b: 2 }
{ a: 4 }
$exists: false

} :

 
db.records.find( { b: { $exists: false } } )

Результаты состоят из тех документов, которые не содержат поле б :

 
{а: 2, с: 5}
{ a: 4 }
{ c: 6 }

Начиная с MongoDB 4.2, пользователи больше не могут использовать фильтр запроса $type: 0 как синоним для $существует:ложь . Чтобы запросить нулевые или отсутствующие поля, см. Запрос пустых или отсутствующих полей.

Используйте разреженный индекс для улучшения

$exists Производительность

В следующей таблице сравнивается производительность запросов $exists с использованием разреженных и неразреженные индексы:

$exists Query

Using a Sparse Index

Using a Non-Sparse Index

{ $exists: true }

Most эффективный. MongoDB может сделать точное совпадение и не требуется FETCH .

Более эффективен, чем запросы без индекса, но все же требует ПОЛУЧИТЬ .

{ $exists: false }

Нельзя использовать индекс, требуется COLLSCAN .

Требуется FETCH .

Запросы, использующие { $exists: true } для полей, использующих неразреженный index или которые используют { $exists: true } для полей, которые не индексируются изучить все документы в коллекции. Для повышения производительности создайте разреженный индекс на поле , как показано на следующий сценарий:

  1. Создайте коллекцию stockSales :

     
    -05-18T16:12:23Z» ) },
    { _id: 1, символ: «ABC», auditDate: новая дата («2021-04-21T11:34:45Z» ) },
    { _id: 2, символ: «DEF», auditDate: новая дата («2021-02-24T15:11:32Z» ) },
    { _id: 3, символ: «DEF», auditDate: null},
    { _id: 4, символ: «DEF», auditDate: новая дата («2021-07-13T18:32:54Z «)},
    {_ID: 5, символ:» xyz «}
    ])

    Документ с _ID из:

  2. CRATIO auditDate поле:

     
    db. getCollection(«stockSales»).createIndex(
    {Auditdate: 1},
    {name: «AuditdatesparseIndex», Sparse: True}
    )
    ). Поле имеет значение (включая null) и использует разреженный индекс:

     
    db.stockSales.countDocuments( { auditDate: { $exists: true } } )

    Пример возвращает 5. Документ, который не хватает Дата аудита стоимость не засчитывается.

Если вам нужны только документы, в которых поле имеет ненулевое значение, you:

Например, используя коллекцию stockSales :

 6 отсутствует дата аудита  
значение или значение null  auditDate  не учитываются. 

См. также:

Запрос пустых или отсутствующих полей

←  Операторы запроса элементов $type →

PostgreSQL LIKE — запрос данных с использованием методов сопоставления с образцом операторы PostgreSQL LIKE и

ILIKE для запроса данных с использованием сопоставления с образцом.

Знакомство с оператором PostgreSQL LIKE

Предположим, вы хотите найти клиента, но точно не помните его имени. Однако вы просто помните, что ее имя начинается примерно на 9.0016 Джен .

Как найти точного клиента из базы данных? Вы можете найти клиента в таблице клиентов , просмотрев столбец имени, чтобы увидеть, есть ли какое-либо значение, начинающееся с Джен . Это займет много времени, если в таблице клиентов много строк.

К счастью, вы можете использовать оператор PostgreSQL LIKE , чтобы сопоставить имя клиента со строкой, подобной этому запросу:

 

SELECT имя, фамилия ОТ клиент ГДЕ first_name НРАВИТСЯ 'Джен%';

Язык кода: SQL (язык структурированных запросов) (sql)

Обратите внимание, что предложение WHERE содержит специальное выражение: first_name , оператор LIKE и строку, содержащую знак процента ( % ). Строка 'Jen%' называется шаблоном.

Запрос возвращает строки, значения которых в столбце first_name начинаются с Jen и могут сопровождаться любой последовательностью символов. Этот метод называется сопоставлением с образцом.

Вы создаете шаблон, комбинируя литеральные значения с подстановочными знаками и используя оператор LIKE или NOT LIKE для поиска совпадений. PostgreSQL предоставляет вам два подстановочных знака:

  • Знак процента ( % ) соответствует любой последовательности из нуля или более символов.
  • Знак подчеркивания ( _ ) соответствует любому одиночному символу.

Синтаксис оператора PostgreSQL LIKE следующий:

 

значение LIKE шаблон

Язык кода: SQL (язык структурированных запросов) (sql)

Выражение возвращает значение true, если значение соответствует шаблону .

Чтобы отменить оператор LIKE , используйте оператор NOT следующим образом:

 

значение NOT LIKE шаблон

Язык кода: SQL (язык структурированных запросов) (sql) 90 LIKE
90 90 Оператор возвращает true, когда значение не соответствует шаблону .

Если шаблон не содержит подстановочных знаков, оператор LIKE ведет себя как оператор равенства ( = ).

Оператор LIKE в PostgreSQL — примеры сопоставления с образцом

Рассмотрим несколько примеров использования оператора LIKE

Примеры LIKE в PostgreSQL

См. следующий пример:

 

SELECT 'foo' КАК 'foo', -- верно 'foo' КАК 'f%', -- правда 'foo' КАК '_o_', -- верно 'бар' КАК 'b_'; -- ложь

Язык кода: SQL (язык структурированных запросов) (sql)

Как это работает.

  • Первое выражение возвращает значение true, поскольку шаблон foo не содержит подстановочных знаков, поэтому оператор LIKE действует как оператор равенства ( = ).
  • Второе выражение возвращает значение true, поскольку оно соответствует любой строке, начинающейся с буквы f , за которой следует любое количество символов.
  • Третье выражение возвращает значение true, поскольку шаблон ( _o_ ) соответствует любой строке, начинающейся с любого одиночного символа, за которой следует буква или и заканчивающаяся любым одиночным символом.
  • Четвертое выражение возвращает false, поскольку шаблон b_ соответствует любой строке, начинающейся с буквы b , за которой следует любой одиночный символ.

Можно использовать подстановочные знаки в начале и/или конце шаблона.

Например, следующий запрос возвращает клиентов, чье имя содержит или строка, например Дженифер , Кимберли и т. д.

 

ВЫБРАТЬ имя, фамилия ОТ клиент ГДЕ first_name НРАВИТСЯ '%er%' СОРТИРОВАТЬ ПО имя;

Язык кода: SQL (язык структурированных запросов) (sql)

Вы можете комбинировать процент ( % ) с символом подчеркивания ( _ ), чтобы создать шаблон, как показано в следующем примере:

 

SELECT имя, фамилия ОТ клиент ГДЕ first_name НРАВИТСЯ '_her%' СОРТИРОВАТЬ ПО имя;

Кодовый язык: SQL (язык структурированных запросов) (sql)

Шаблон _her% соответствует любой строке, которая:

  • Начинается с любого одиночного символа ( _ ) строка ее .
  • И заканчивается любым количеством символов.

Возвращаемые имена: C ее yl, S ее ri, S ее ry и T ее asa.

PostgreSQL НЕ ПОДХОДИТ к примерам

Следующий запрос использует оператор NOT LIKE для поиска клиентов, чьи имена не начинаются с Jen :

 

SELECT имя, фамилия ОТ клиент ГДЕ first_name НЕ НРАВИТСЯ 'Джен%' СОРТИРОВАТЬ ПО first_name

Язык кода: SQL (язык структурированных запросов) (sql)

Расширения PostgreSQL оператора LIKE

PostgreSQL поддерживает оператор ILIKE , который работает как НРАВИТСЯ оператор. Кроме того, оператор ILIKE сопоставляет значение без учета регистра.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

db.stockSales.countDocuments( { auditDate: { $ne: null } } )