Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Trích xuất User ID từ chuỗi USER() trong MySQL

Hàm USER() trả về chuỗi 'user@host'. Dùng SUBSTRING_INDEX() để tách lấy phần user hoặc host.

Xem user hiện tại

mysql> SELECT USER();
+----------------+
| USER()         |
+----------------+
| root@localhost |
+----------------+

Tách User ID (phần trước @)

mysql> SELECT SUBSTRING_INDEX(USER(),'@',1);
+-------------------------------+
| SUBSTRING_INDEX(USER(),'@',1) |
+-------------------------------+
| root                          |
+-------------------------------+

Tách Host (phần sau @)

mysql> SELECT SUBSTRING_INDEX(USER(),'@',-1);
+--------------------------------+
| SUBSTRING_INDEX(USER(),'@',-1) |
+--------------------------------+
| localhost                      |
+--------------------------------+

Giải thích: SUBSTRING_INDEX(str, delim, count): count dương = lấy từ trái, count âm = lấy từ phải. Tham số 1 lấy phần đầu, -1 lấy phần cuối.