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

Как ORD() работи в MariaDB

В MariaDB, ORD() е вградена низова функция, която връща цифровия символен код на най-левия знак на неговия низ аргумент.

ORD() функцията може да обработва многобайтови знаци. Това е в контраст с ASCII() функция, която обработва само еднобайтови (8-битови) символи.

Синтаксис

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

ORD(str) 

Където str е аргументът низ.

ORD() ще върне цифровия код само на най-лявата символ на този низ.

Ако най-левият знак е многобайтов знак, ORD() използва следната формула, за да изчисли резултата си:

  (1st byte code)
+ (2nd byte code x 256)
+ (3rd byte code x 256 x 256) ... 

Пример

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

SELECT ORD('H'); 

Резултат:

+---------+| ORD('H') |+----------+| 72 |+---------+

Както споменахме, ORD() връща само кода на най-лявата характер. Следователно, следното дава същия резултат:

SELECT ORD('Homer'); 

Резултат:

+--------------+| ORD('Homer') |+--------------+| 72 |+--------------+

За да демонстрираме това допълнително, нека вземем кода от всяка буква в горния низ:

SELECT 
    ORD('H'),
    ORD('o'),
    ORD('m'),
    ORD('e'),
    ORD('r'); 

Резултат:

+----------+-----------+---------+----------+-- --------+| ORD('H') | ORD('o') | ORD('m') | ORD('e') | ORD('r') |+----------+---------+----------+--------- -+----------+| 72 | 111 | 109 | 101 | 114 |+----------+-----------+----------+---------+--- -------+

Многобайтови символи

Ето пример, който използва многобайтов знак:

SELECT ORD('©'); 

Резултат:

+-----------+| ORD('©') |+-----------+| 49833 |+----------+

Чувствителност на регистрите

Главните букви имат различна ASCII стойност от техните еквиваленти с малки букви.

Пример:

SELECT 
    ORD('H'),
    ORD('h'); 

Резултат:

+----------+----------+| ORD('H') | ORD('h') |+----------+---------+| 72 | 104 |+----------+----------+

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

Ето пример за използване на ORD() в заявка към база данни:

USE PetHouse;
SELECT 
  PetName, 
  ORD(PetName) AS 'ASCII value of leftmost character'
FROM Pets; 

Резултат:

+--------+-----------------------------------+ | Име на домашни любимци | ASCII стойност на най-левия знак |+--------+-------------------------------- --+| Пухкави | 70 || Вземи | 70 || Надраскване | 83 || Размахване | 87 || Tweet | 84 || Пухкави | 70 || Кора | 66 || Мяу | 77 |+--------+-----------------------------------+ 

Най-десният знак

Тук използвам RIGHT() функция за връщане на най-десния знак от всяко име на домашен любимец и след това го използвайте отново с ORD() функция за връщане на ASCII стойността за този знак.

USE PetHouse;
SELECT 
  PetName,
  RIGHT(PetName, 1) 'Rightmost character',
  ORD(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets; 

Резултат:

+--------+---------------------+-----------+| Име на домашни любимци | Най-десният знак | ASCII код |+--------+---------------------+-----------+| Пухкави | y | 121 || Вземи | ч | 104 || Надраскване | ч | 104 || Размахване | g | 103 || Tweet | t | 116 || Пухкави | y | 121 || Кора | k | 107 || Мяу | w | 119 |+--------+---------------------+-----------+ 

Празни низове

Предоставянето на празен низ води до 0 се връща.

SELECT ORD(''); 

Резултат:

+--------+| ORD('') |+--------+| 0 |+---------+

Нулеви стойности

Предоставяне на null води до null се връща.

SELECT ORD(null); 

Резултат:

+-----------+| ORD(нула) |+-----------+| 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. Как DATE_ADD() работи в MariaDB

  2. 6 често срещани сценария за неуспехи за MySQL и MariaDB и как да ги поправите

  3. Как REPEAT() работи в MariaDB

  4. Инсталирайте MariaDB на Mac

  5. Как да постигнем PCI съответствие за MySQL и MariaDB с ClusterControl - Повторението