SQLite
 sql >> база данни >  >> RDS >> SQLite

Вземете позицията на символ в низ в SQLite с Instr()

В SQLite можете да използвате instr() функция за връщане на позицията на даден символ в низ.

Функцията връща само позицията на първото появяване на знака (ако има такъв).

Ако символът не бъде намерен, той връща 0.

Ако някой от аргументите е NULL, тогава той връща NULL.

Как работи

instr() функцията приема два аргумента. Първият аргумент е низът, а вторият аргумент е символът, който искате да намерите в този низ.

Ако и двата аргумента са BLOB, тогава той връща един повече от броя байтове преди първото появяване на втория аргумент или 0, ако не се среща никъде в първия аргумент.

Синтаксисът е така:

inst(X,Y)
  • X е низът
  • Y е герой

Пример

Ето пример за демонстрация.

SELECT instr('Black cat', 'a');

Резултат:

3

Тук исках местоположението на букватаа .

В този случай буквата се появява два пъти и instr() връща местоположението на първото появяване.

Пример за база данни

В този пример ще използвам следната таблица:

ProductId   ProductName    Price     
----------  -------------  ----------
1           Widget Holder  139.5     
2           Blue Widget    10.0      
3           Red Widget     10.0      
4           Green Widget   10.0      
5           Widget Stick   89.75     
6           Foo Cap        11.99     

Ще потърся Име на продукта колона за писмо.

SELECT 
  ProductName,
  instr(ProductName, 'd') 
FROM Products;

Резултат:

ProductName    instr(ProductName, 'd')
-------------  -----------------------
Widget Holder  3                      
Blue Widget    8                      
Red Widget     3                      
Green Widget   9                      
Widget Stick   3                      
Foo Cap        0                               

Обърнете внимание, че последният ред няма буквата и така 0 беше върнат за този ред.

NULL стойности

Както споменахме, ако някой от аргументите е NULL, тогава се връща NULL.

SELECT 
  instr(NULL, 'a'),
  instr('Black cat', NULL);

Резултат:

instr(NULL, 'a')  instr('Black cat', NULL)
----------------  ------------------------
                                          


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да активирате поддръжка на чужд ключ в SQLite

  2. 2 начина да добавите знак за процент към число в SQLite

  3. SQLite JSON_SET()

  4. Как да поръчате по дата в SQLite

  5. Функция SQLite Like() с примери