《MYSQL教程mysql自定義split函數(字符串分割函數示例)》要點:
本文介紹了MYSQL教程mysql自定義split函數(字符串分割函數示例),希望對您有用。如果有疑問,可以聯系我們。
在mysql數據庫中實現split函數:
代碼1:
?MYSQL實例
DELIMITER $$MYSQL實例
CREATE DEFINER=`root`@`%` FUNCTION `func_get_split_string_total`(
f_string varchar(1000),f_delimiter varchar(5)
) RETURNS int(11)
BEGIN
? return 1+(length(f_string) - length(replace(f_string,f_delimiter,'')));
END$$MYSQL實例
DELIMITER ;MYSQL實例
代碼2:
?MYSQL實例
DELIMITER $$MYSQL實例
CREATE DEFINER=`root`@`%` FUNCTION `func_get_split_string`(
f_string varchar(1000),f_delimiter varchar(5),f_order int) RETURNS varchar(255) CHARSET utf8
BEGIN
? declare result varchar(255) default '';
? set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1));
? return result;
END$$MYSQL實例
DELIMITER ;MYSQL實例
兩個split函數都還好用,以第二個辦法為例.
在mysql中執行函數的辦法:
?MYSQL實例
在創建函數時,遇到了問題.顯示錯誤:
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,
or READS SQL DATA in its declaration and binary logging is enabled
(you *might* want to use the less safe log_bin_trust_function_creators
variableMYSQL實例
解決辦法:
1,mysql> SET GLOBAL log_bin_trust_function_creators = 1;
2,系統啟動時,加上--log-bin-trust-function-creators 參數為1
3,直接在my.ini的[mysqld]區段加上log-bin-trust-function-creators=1MYSQL實例
小記:
使用第一種解決辦法后,可以順利創建函數了,于是字符串分割函數split可以使用了.MYSQL實例
《MYSQL教程mysql自定義split函數(字符串分割函數示例)》是否對您有啟發,歡迎查看更多與《MYSQL教程mysql自定義split函數(字符串分割函數示例)》相關教程,學精學透。維易PHP學院為您提供精彩教程。