В SQLite существует ли булев литерал?

Используйте grepl с шаблоном ^[Mm]:

a[grepl("^[Mm]", a)]

[1] "Mom"    "mother"

Вот что означает шаблон ^[Mm]:

^      from the start of the string
[Mm]   match either a lowercase or uppercase letter M

Функция grepl работает просто утверждая, что шаблон ввода соответствует хотя бы один раз, поэтому нам не нужно беспокоиться об остальной части строки.

57
задан Lukasz Szozda 16 January 2019 в 19:00
поделиться

4 ответа

Из раздела 1.1 Логический тип данных документации:

SQLite не имеет отдельного логического класса хранения. Вместо этого логические значения сохраняются как целые числа 0 (ложь) и 1 (истина).

Похоже, вы застряли с 0 и 1 .

77
ответ дан 24 November 2019 в 19:36
поделиться

SQLite имеет ИСТИННЫЙ И ЛОЖНЫЙ литерал как показано здесь:

https://www.sqlite.org/syntax/literal-value.html

(да, долгое время для ответа:)

0
ответ дан 24 November 2019 в 19:36
поделиться

1.1 Boolean Datatype

SQLite не имеет отдельного класса хранения булевых значений. Вместо этого булевы значения хранятся как целые числа 0 (false) и 1 (true).

Docs

8
ответ дан 24 November 2019 в 19:36
поделиться

Логический тип данных отсутствует. Всего 5 типов, перечисленных здесь . Целые числа могут храниться на диске различной ширины, наименьшее из которых составляет 1 байт. Однако это деталь реализации:

«Но как только значения INTEGER считываются с диска в память для обработки , они преобразуются в наиболее общий тип данных (8-байтовое целое число со знаком ). "

Учитывая это, неудивительно, что здесь нет логических литералов.

0
ответ дан 24 November 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: