MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách ELT () hoạt động trong MariaDB

Trong MariaDB, ELT() là một hàm chuỗi tích hợp sẵn chấp nhận một đối số số, theo sau là một chuỗi các đối số chuỗi. Sau đó, nó trả về chuỗi tương ứng với vị trí số nhất định được cung cấp bởi đối số đầu tiên.

Cú pháp

Cú pháp như sau:

ELT(N, str1[, str2, str3,...])

Ở đâu N là đối số số và str1[, str2, str3,…] đại diện cho các đối số chuỗi.

Ví dụ

Đây là một ví dụ cơ bản:

SELECT ELT(2, 'Red', 'Green', 'Blue');

Kết quả:

+--------------------------------+
| ELT(2, 'Red', 'Green', 'Blue') |
+--------------------------------+
| Green                          |
+--------------------------------+

Trong trường hợp này, chúng tôi đã sử dụng 2 để trả về đối số chuỗi thứ hai.

Phao

Nếu đối số đầu tiên là FLOAT , MariaDB làm tròn nó thành số nguyên gần nhất:

SELECT 
    ELT(2.4, 'Red', 'Green', 'Blue') AS "2.4",
    ELT(2.5, 'Red', 'Green', 'Blue') AS "2.5";

Kết quả:

+-------+------+
| 2.4   | 2.5  |
+-------+------+
| Green | Blue |
+-------+------+

Chỉ định vị trí ngoài phạm vi

Việc chỉ định vị trí nằm ngoài phạm vi dẫn đến null được trả lại. Ví dụ bên dưới.

Vị trí của Zero

Cung cấp 0 như đối số đầu tiên trả về null :

SELECT ELT(0, 'Red', 'Green', 'Blue');

Kết quả:

+--------------------------------+
| ELT(0, 'Red', 'Green', 'Blue') |
+--------------------------------+
| NULL                           |
+--------------------------------+

Vị trí phủ định

Cung cấp giá trị âm khi đối số đầu tiên trả về null :

SELECT ELT(-2, 'Red', 'Green', 'Blue');

Kết quả:

+---------------------------------+
| ELT(-2, 'Red', 'Green', 'Blue') |
+---------------------------------+
| NULL                            |
+---------------------------------+

Khi Vị trí Quá lớn

Nếu đối số đầu tiên là một số lớn hơn tổng số đối số chuỗi, thì ELT() trả về null:

SELECT ELT(20, 'Red', 'Green', 'Blue');

Kết quả:

+---------------------------------+
| ELT(20, 'Red', 'Green', 'Blue') |
+---------------------------------+
| NULL                            |
+---------------------------------+

Vị trí không phải dạng số

Nếu đối số đầu tiên không phải là số, ELT() trả về null :

SELECT ELT('Two', 'Red', 'Green', 'Blue');

Kết quả:

+------------------------------------+
| ELT('Two', 'Red', 'Green', 'Blue') |
+------------------------------------+
| NULL                               |
+------------------------------------+

Chỉ cung cấp một đối số chuỗi

Việc cung cấp một đối số chuỗi đơn là hợp lệ, mặc dù trong trường hợp này, đối số đầu tiên cần phải là 1 để tránh nhận được null :

SELECT ELT(1, 'Red');

Kết quả:

+---------------+
| ELT(1, 'Red') |
+---------------+
| Red           |
+---------------+

Chuỗi rỗng

Đối số chuỗi có thể là null mà không ảnh hưởng đến kết quả của những người khác:

SELECT ELT(3, 'Red', null, 'Blue');

Kết quả:

+-----------------------------+
| ELT(3, 'Red', null, 'Blue') |
+-----------------------------+
| Blue                        |
+-----------------------------+

Mặc dù, chỉ định một số khớp với null đối số chuỗi rõ ràng sẽ trả về null :

SELECT ELT(2, 'Red', null, 'Blue');

Kết quả:

+-----------------------------+
| ELT(2, 'Red', null, 'Blue') |
+-----------------------------+
| NULL                        |
+-----------------------------+

Chỉ định vị trí trống

Cung cấp null vì đối số đầu tiên dẫn đến null :

SELECT ELT(null, 'Red');

Kết quả:

+------------------+
| ELT(null, 'Red') |
+------------------+
| NULL             |
+------------------+

Đối số đơn

Chỉ cung cấp một đối số sẽ trả về lỗi:

SELECT ELT(2);

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'

Thiếu đối số

Đang gọi ELT() mà không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT ELT();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các toán tử bộ SQL MariaDB

  2. Bảng tạm thời của MariaDB là gì?

  3. ClusterControl - Quản lý sao lưu nâng cao - mariabackup Phần III

  4. Cách RTRIM () hoạt động trong MariaDB

  5. Cách triển khai MariaDB Cluster 10.5 để có tính khả dụng cao