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

Thủ tục lưu trữ mySQL để tách chuỗi bằng dấu phân cách

Bạn cần kết thúc SET của mình bằng dấu ';' và, cho rằng khách hàng thông dịch; là dấu phân cách, bạn cần thay đổi dấu phân cách để có thể nhập giá trị thực; vào thủ tục.

mysql> delimiter //
mysql> CREATE PROCEDURE SPLIT(IN strToSplit text, IN strDelimiter varchar(1), IN nPartToGet int,OUT strSlice varchar(255))
    -> BEGIN
    -> SET strSlice = replace(substring(substring_index(strToSplit, strDelimiter,
    -> nPartToGet),     length(substring_index(strToSplit,strDelimiter, 
    -> nPartToGet - 1)) + 1), strDelimiter, '');
    -> END
    -> //
Query OK, 0 rows affected (0.01 sec)
mysql> delimiter ;
mysql> CALL SPLIT('1;2;3;4;5',';',3,@str);
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @str;
+------+
| @str |
+------+
| 3    |
+------+
1 row in set (0.00 sec)

Tài liệu liên quan: http://dev.mysql.com/ doc / refman / 5.0 / en / archi-routines.html




  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ấy dữ liệu từ MySQL theo lô qua Python

  2. Entity Framework + Tạo lớp MySQL

  3. Truy vấn MySQL mất hơn 6 giây

  4. Cách phát hiện các ký tự UTF-8 trong cột được mã hóa Latin1 - MySQL

  5. Làm cách nào để sử dụng CakePHP baking để tìm mysql.sock và nhận ra MySQL trong khi sử dụng MAMP trên Mac OSX?