ホームページ > バックエンド開発 > PHPチュートリアル > PHPのexplode関数に似た解決策がMYSQLにありますか?

PHPのexplode関数に似た解決策がMYSQLにありますか?

WBOY
リリース: 2016-06-13 13:49:00
オリジナル
867 人が閲覧しました

PHP の爆発関数に似た爆発関数は MYSQL にありますか?
教えてください

-----解決策----------- -------- -
私が作成したストアド プロシージャの例を示します。これには、必要なものが含まれています。
DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_get_new_release`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_get_new_release`(IN var_str varchar(20),
IN var_note_lang char(5))
BEGIN
DECLARE cnt int;
DECLARE i int; SET @curs = var_str; SET @op = " ' "; SET @cur_lang = 'en ';
SET @full_version = ' ';
SET @sql = 'SELECT * FROM software_release a WHERE 1 = 1 ';
SELECT COUNT(*) FROM software_release WHERE STRCMP( note_言語,var_note_言語) = 0 INTO cnt;
IF cnt != 0 THEN
SET @sql = CONCAT(@sql, ' AND STRCMP(a.note_ language, ',@op,var_note_ language,@op, ') = 0 ');
ELSE
SET @sql = CONCAT(@sql, ' AND STRCMP(a.note_ language, ',@op,@cur_lang,@op, ') = 0 '); END IF;
ループ 1:LOOP
SET i = LOCATE( '. ',@curs,1)
SET @a = LEFT(@curs,i-1); = CONCAT(@full_version,REPEAT( '0 ',(4 - LENGTH(@a))),@a);
SET @curs = SUBSTR(@curs,i+1); @curs, '. ') = 0 THEN
SET @a = @curs;
SET @full_version = CONCAT(@full_version,REPEAT( '0 ',(4 - LENGTH(@a))) a);
LEAVE ループ 1;
END IF;
END LOOP
SET @sql = CONCAT(@sql, ' AND full_version > = ',@op,@full_version,@op );
PREPARE s1 FROM @sql;
DEALLOCATE PREPARE s1;

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート