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

Mysql có thể tách một cột không?

Nó có vẻ hoạt động:

substring_index ( substring_index ( context,',',1 ), ',', -1) 
substring_index ( substring_index ( context,',',2 ), ',', -1)
substring_index ( substring_index ( context,',',3 ), ',', -1)
substring_index ( substring_index ( context,',',4 ), ',', -1)

nó có nghĩa là giá trị thứ nhất, thứ 2, thứ 3, v.v.

Giải thích:

substring_index bên trong trả về n giá trị đầu tiên được phân tách bằng dấu phẩy. Vì vậy, nếu chuỗi ban đầu của bạn là "34,7,23,89", substring_index( context,',', 3) trả về "34,7,23".
substring_index bên ngoài lấy giá trị được trả về bởi substring_index bên trong và -1 cho phép bạn lấy giá trị cuối cùng. Vì vậy, bạn nhận được "23" từ "34,7,23".
Thay vì -1 nếu bạn chỉ định -2 , bạn sẽ nhận được "7,23", vì nó nhận hai giá trị cuối cùng.

Ví dụ:

select * from MyTable where substring_index(substring_index(prices,',',1),',',-1)=3382;

Đây, prices là tên của một cột trong MyTable .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi MySQL # 1071 - Khóa được chỉ định quá dài; độ dài khóa tối đa là 767 byte

  2. @GeneratedValue siêu lớp trừu tượng đa hình trên MySQL

  3. Nối ba bảng bằng MySQL

  4. Loại trường cơ sở dữ liệu tốt nhất cho một URL

  5. Cách nhận dữ liệu bán hàng 3 tháng qua trong MySQL