Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mySQL Stored Procedure untuk memisahkan string dengan pembatas

Anda harus mengakhiri SET Anda dengan ';' dan, mengingat bahwa klien menafsirkan; sebagai pembatas, Anda perlu mengubah pembatas sehingga Anda dapat memasukkan; ke dalam prosedur.

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)

Dokumen yang relevan:http://dev.mysql.com/ doc/refman/5.0/en/stored-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. Karakter Unicode (Yunani) disimpan dalam database seperti ??????

  2. AUTO_INCREMENT dan LAST_INSERT_ID

  3. Bagaimana cara mencari banyak kolom di MySQL?

  4. Bagaimana cara mengganti nama kolom kunci utama di MySQL?

  5. Jumlahkan tanggal dalam hitungan menit dengan MySQL