SQLite Строковые функции: REPLACE, SUBSTR, TRIM, ROUND.
SQLite по умолчанию оснащен списком встроенных функций внутри SQLite библиотека. Вы также можете добавить некоторые другие пользовательские функции, используя язык C, чтобы расширить основные функции.
Обратите внимание, что во всех следующих примерах вам необходимо запустить sqlite3.exe и открыть соединение с образцом базы данных как поточное:
Шаг 1) На этом этапе
- Откройте «Мой компьютер» и перейдите в следующий каталог «C:\sqlite" а потом
- открытым "sqlite3.exe«:
Шаг 2) Откройте базу данных»УчебникиSampleDB.db» следующей командой:
Теперь вы готовы запустить любую запрос и попробуйте любые запросы, используемые в следующих разделах.
Нахождение ДЛИНЫ строки в SQLite
Чтобы найти длину строки, используйте LENGTH(X), где X — строковое значение. Если X — нулевое значение, функция длины вернет нулевое значение.
Вы также можете использовать функцию длины с числовыми значениями, чтобы получить длину числового значения.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем примере мы попробуем использовать синтаксис функции ДЛИНА со следующими значениями:
SELECT LENGTH('A string'), LENGTH(NULL), LENGTH(20), LENGTH(20.5);
Это даст вам:
Результат выглядит следующим образом:
- LENGTH('Строка') возвращает 8, что соответствует длине строки «Строка».
- LENGTH(NULL) возвращает ноль.
- LENGTH(20) возвращает 2, поскольку 20 имеет длину 2 длины.
- ДЛИНА(20.5) возвращает 4; Плавающая точка «.» считается символом, поэтому у вас будет четыре символа — 3 символа, которые соответствуют длине чисел. Плюс еще один символ для плавающей точки «.».
Изменение регистра с помощью функции UPPER и LOWER.
UPPER(X) вернет ту же строку x, но она будет представлять все символы строки заглавными буквами.
LOWER(X) вернет ту же строку x, но она будет представлять все символы строки маленькими символами.
UPPER и LOWER возвращают нулевые значения, если вы передаете им нулевое значение.
Если вы передадите числовые значения в функции UPPER или LOWER, они оба вернут точное числовое значение.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
SELECT UPPER('a string'), LOWER('A STRING'), UPPER(20), LOWER(20), UPPER(NULL), LOWER(NULL);
Это даст вам:
Результат выглядит следующим образом:
- UPPER('строка') возвращает строку «строка«заглавными буквами»СТРОКА».
- LOWER('A STRING') возвращает строку «СТРОКА» в виде строчной буквы «строка».
- UPPER(20), LOWER(20) возвращает одно и то же число, поскольку они не влияют на числа.
- UPPER(NULL), LOWER(NULL) возвращает значение null, поскольку мы передали им нулевое значение.
SQLite Функция СУБСТР
Функция SUBSTR возвращает определенное количество строк, начиная с определенной позиции. Вы можете передать в функцию три операнда, например:ПОДСТР (X,Y,Z)» следующим образом:
- X — строковый литерал или строковый столбец для анализа. Вы можете передать буквальное значение (статическое значение) или имя столбца, и в этом случае значение будет считано из значений столбца.
- Y — начальная позиция для вычитания строки, начинающейся с нее.
- Z — количество символов для анализа, начиная с определенной позиции Y. Это число не является обязательным, вы можете его игнорировать, и в этом случае SQLite вычтет строку, начиная с позиции Y, и сообщит конец строки.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем запросе мы будем использовать функцию SUBSTR, чтобы получить 4 символа, начиная со второго символа, в именах студентов:
SELECT StudentName, SUBSTR(StudentName, 2, 4), SUBSTR(StudentName, 2) FROM Students;
Это даст вам:
- SUBSTR(Имя студента, 2, 4) подстрока строки «Имя студента», начиная со второго символа, и возвращает следующие 4 символа.
- Однако в функции SUBSTR(Имя студента, 2) мы не указали количество возвращаемых символов, поэтому SQLite вернул все оставшиеся символы в «Имя студентаначиная со второй позиции.
Изменение частей строки с помощью SQLite ЗАМЕНИТЬ Функция
REPLACE используется для замены каждой строки, встречающейся в другой строке, строкой.
REPLACE(X, Y, Z) — X — это входной строковый литерал или столбец. Y — это строка, которую нужно заменить на строку Z. Обратите внимание, что она заменит любое вхождение строки Y на Z, а не только одно.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем запросе мы заменим все вхождения строки «xx» со строкой «SQLite«:
SELECT REPLACE('xx is very lightweight, xx is easy to learn', 'xx', 'SQLite');
Это даст вам
- Функция replace заменила все строки «xx» со строкой «SQLite».
- Таким образом, вывод будет SQLite очень легкий, SQLite легко учиться».
Обрезка пустых мест с помощью SQLite Функция обрезки
TRIM удаляет пробелы в начале или в конце строки. Он не удалит пробелы в середине строки, а только в начале или в конце.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем запросе мы будем использовать функцию TRIM для удаления пробелов в начале и конце строки.
Обратите внимание, что оператор конкатенации «||» используется для добавления дополнительного «;» до конца строки. Чтобы показать вам, что в черном окне убрали пустые места.
SELECT TRIM(' SQLite is easy to learn ') || ';';
Это даст вам:
- Обратите внимание, как пробелы были удалены из начала и конца строки и заменены на ' ; ' в конце.
Чтение абсолютных значений с помощью SQLite Функция ABS
Функция ABS возвращает абсолютное значение числового значения. Абсолютное значение — это числовое значение без положительного или отрицательного знака. ABS(X) возвращает значение в зависимости от значения X следующим образом:
- Абсолютное значение X, если X — числовое значение.
- Значение NULL, если X является нулевым значением.
- Значение «0.0», если X — строка.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем запросе мы попытаемся получить абсолютное значение строки, числа и нулевое значение с помощью функции ABS:
SELECT ABS(-2), ABS(+2), ABS('a string'), ABS(null);
Это даст вам:
Результаты следующие:
- ABS(-2), ABS(+2) возвращает 2, поскольку 2 является абсолютным значением как для «-2», так и для «+2».
- ABS('a string') возвращает «0.0», поскольку вы передали строковое значение, а не числовое значение.
- ABS(null) возвращает значение null, поскольку вы передали ему нулевое значение.
Округление значений с помощью функции ОКРУГЛ в SQLite
Десятичные числа — это числа с плавающей запятой «.» на нем, например, «20.5», «8.65». Часть слева от плавающей точки называется целочисленной частью, а часть справа от плавающей точки — десятичной частью.
Целые числа — это числа без плавающей точки. Например, «20», «8».
ОКРУГЛ(X) преобразует десятичные значения или столбцы X только в целые числа. Будет возвращена целая часть, то есть часть слева от десятичной точки, а все цифры справа от десятичной точки будут удалены.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем запросе мы попробуем функцию ОКРУГЛ с различными параметрами:
SELECT ROUND(12.4354354), ROUND(12.4354354, 2), ROUND(NULL), ROUND('a string');
Это даст вам:
Результат следующий:
- ROUND(12.4354354) – возвращает значение «12», поскольку вы не указали количество цифр. Так, SQLite удалил всю десятичную часть.
- ROUND(12.4354354, 2) – возвращает значение «12.44», поскольку вы указали только две цифры для округления, а именно две цифры справа от десятичной точки.
- ROUND(NULL) — возвращает значение null, поскольку вы передали ему нулевое значение.
- ROUND('a string') – возвращает значение «0.0», поскольку вы передали ему строковое значение.
Поиск типа данных выражения с помощью функции TYPEOF
Если вы хотите узнать тип столбца или литерального значения, вы можете использовать для этого функцию ТИП.
Функция TYPEOF(X) по своему имени возвращает тип данных выражения X. Она возвращает строковое значение, указывающее тип данных X. Она возвращает значение на основе типов данных, будь то значение «NULL» или «NULL». вещественное, текстовое, целое число, … и т. д.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем запросе мы попробуем функцию ТИП с различными типами литеральных значений:
SELECT TYPEOF(null), TYPEOF(12), TYPEOF(12.5), TYPEOF('a string');
Это даст вам:
Возвращаемые результаты следующие:
- TYPEOF(null) – возвращает значение null, поскольку вы передали ему нулевое значение.
- TYPEOF(12) – возвращает целое число, поскольку 12 – целое число.
- TYPEOF(12.5) – возвращает REAL, поскольку 12.5 – действительное число.
- TYPEOF('a string') – возвращает текст, поскольку «строка» является текстом.
Поиск последней вставленной записи с помощью SQLite LAST_INSERT_ROWID
SQLite назначает целочисленный ключ (Id) для всех строк во всех таблицах. Этот номер используется для уникальной идентификации этих строк.
Когда вы ВСТАВЛЯЕТЕ новую строку в таблицу, SQLite присвоит rowid уникальное значение.
Если в таблице есть первичный ключ, объявленный только для одного столбца, и этот столбец имеет тип данных INTEGER, то значение этого столбца будет использоваться как rowid.
Функция LAST_INSERT_ROWID() возвращает ROW_ID последней вставленной строки в любой таблице базы данных. Обратите внимание, что он не принимает никаких операндов.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем примере мы запустим функцию LAST_INSERT_ROWID() следующим образом:
SELECT LAST_INSERT_ROWID();
Это даст вам:
- LAST_INSERT_ROWID() возвращает 0, поскольку в текущем соединении с базой данных ни в одну таблицу не вставлено ни одной строки.
Теперь давайте вставим нового студента и снова запустим функцию LAST_INSERT_ROWID() после оператора вставки, например:
INSERT INTO Students VALUES(11, 'guru', 1, '1998-10-12'); SELECT LAST_INSERT_ROWID();
Это даст вам:
- После того, как мы вставили нового студента с идентификатором 11, LAST_INSERT_ROWID() вернет идентификатор последней вставленной строки, равный 11.
Получение версии вашего SQLite библиотека
Чтобы получить версию вашего SQLite библиотеки, вам необходимо вызвать функцию SQLITE_VERSION().
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
Давайте выясним, какая версия SQLite мы используем, выполнив следующую команду:
SELECT SQLITE_VERSION();
Это даст вам:
SQLITE_VERSION() возвращает 3.9.2, что является версией SQLite мы используем.
Создание пользовательских функций и агрегирование пользовательских функций
Для некоторых пользователей SQLite основные функции ограничены. Возможно, им придется добавить специальные функции для своих нужд.
SQLite не поддерживает создание пользовательских функций. В отличие от других систем управления базами данных, в ней нельзя создавать определяемые пользователем функции. SQLite непосредственно.
Однако вы можете создать функцию, используя такие языки программирования, как C#, C, PHP или C++ и прикрепил эту функцию к ядру SQLite функции в SQLite саму библиотеку, используя «sqlite3_create_function» функция. Затем вы можете повторно использовать их в своей базе данных.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
В следующем примере мы создадим пользовательскую функцию, используя C# язык программирования и добавить его в SQLite функции:
[SQLiteFunction(Name = "DoubleValue", Arguments = 1, FuncType = FunctionType.Scalar)] public class DoubleValue: SQLiteFunction { public override object Invoke(object[] args) { return args[0] * 2; } }
Этот фрагмент кода написан в Язык программирования C #; он создает функцию C#, используя код C#.
Имя функции будет «DoubleЗначение” он принимает один параметр и возвращает его значение, умноженное на 2.
Обратите внимание, что C# автоматически добавляет эту функцию в SQLite. Все, что вам нужно, это скомпилировать и запустить этот код. Затем C# добавит эту функцию с тем же именем в список SQLite функции. Затем вы можете использовать эту функцию в SQLite.
Точно так же, используя такие языки программирования, как C#, C, PHP или C++вы также можете создавать агрегатные пользовательские функции. Которые используются для расширения агрегатных функций в SQLite и использовать их для создания пользовательских агрегатных функций.
Резюме
- SQLite предоставляет полный набор встроенных функций, которые, как мы видели, упрощают работу с таблицами и столбцами базы данных. Вы можете использовать эти функции со столбцами, а также с литеральными значениями в любом выражении ваших SQL-запросов.
- Вы также можете использовать функцию длины с числовыми значениями, чтобы получить длину числового значения.
- UPPER и LOWER возвращают нулевые значения, если вы передаете им нулевое значение.
- Функция SUBSTR возвращает определенное количество строк, начиная с определенной позиции.
- REPLACE используется для замены каждой строки, встречающейся в другой строке, строкой.
- TRIM удаляет пробелы в начале или в конце строки.
- Функция ABS возвращает абсолютное значение числового значения.
- ОКРУГЛ(X) преобразует десятичные значения или столбцы X только в целые числа.
- Функция TYPEOF(X) по своему названию возвращает тип данных выражения X.
- Функция LAST_INSERT_ROWID() возвращает ROW_ID последней вставленной строки в любой таблице базы данных.