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.