MySQL hỗ trợ một số hàm có thể được sử dụng để trích xuất vị trí chỉ mục hoặc giá trị thực từ một tập hợp các giá trị được sắp xếp dưới dạng một mảng. ELT () và FIELD () là ví dụ về các hàm như vậy. Hãy để chúng tôi hiểu chi tiết về chúng.
Hàm ELT () chấp nhận nhiều đối số trong đó đối số đầu tiên là số. Nó trả về giá trị có sẵn tại vị trí được chỉ định trong đối số đầu tiên.
SELECT ELT(3,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Truy vấn trên trả về kết quả là “SQL của tôi”. Từ tập hợp các giá trị có sẵn, nó trả về giá trị thứ 3 là My SQL. Nó trả về NULL nếu đối số đầu tiên là 0, nhỏ hơn 0 hoặc lớn hơn tổng số đối số
SELECT ELT(0,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Đây là hai ví dụ khác sẽ trả về kết quả là giá trị null.
SELECT ELT(31,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
SELECT ELT(-5,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Tất cả giá trị NULL ở trên đều trả về.
HàmFILED () đối lập với hàm ELT (). Nó chấp nhận nhiều đối số và trả về vị trí của giá trị trong mảng được chỉ định làm giá trị đầu tiên
SELECT FIELD('My SQL','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Giá trị trên trả về 3 vì giá trị được chỉ định trong đối số đầu tiên “My SQL” có sẵn ở vị trí thứ 3 trong mảng.
Nó trả về 0 nếu giá trị không được chỉ định trong mảng
SELECT FIELD('COMPUTER','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Kết quả là 0.
Bạn đã bao giờ sử dụng các hàm này trong logic kinh doanh của mình chưa? Nếu có, tôi muốn biết họ.