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'