sql >> データベース >  >> RDS >> Mysql

スペースで区切られた文字列を区切るMySQLクエリ2列に変換

    これがあなたの要件を満たすクエリです。 COLUMNSテーブルから実際に行を選択しないことに注意してください。これは、MySQLに使用可能な行ジェネレータがないために必要です。どのテーブルでもここに移動できますが、以下のクエリが返すよりも多くの行が必要です。 LIMITコマンドのように。

    SET @VInput := '24 4 36 2 63 5 56 7';
    SET @VRow := 0;
    
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(@VInput, ' ', (@VRow := @VRow + 1) * 2 - 1), ' ', -1), SUBSTRING_INDEX(SUBSTRING_INDEX(@VInput, ' ', (@VRow) * 2), ' ', -1) FROM INFORMATION_SCHEMA.`COLUMNS` WHERE @VRow * 2 < CHAR_LENGTH(@VInput) - CHAR_LENGTH(REPLACE(@VInput, ' ', ''));
    

    ご不明な点がありましたらお知らせください

    よろしく、

    ジェームズ




    1. チェックボックスの値をMySQLに挿入するにはどうすればよいですか?

    2. MySQLINTの意味

    3. MySQLは区切り文字を使用してストアドプロシージャの構文を作成します

    4. SQL Plusから実行されているSQLスクリプトでアンパサンドを無視するにはどうすればよいですか?