Rumah > pangkalan data > tutorial mysql > Bagaimana untuk memisahkan rentetan dengan pembatas dalam MySQL

Bagaimana untuk memisahkan rentetan dengan pembatas dalam MySQL

PHPz
Lepaskan: 2023-06-01 08:43:17
ke hadapan
2072 orang telah melayarinya

    MySQL memisahkan rentetan dengan pembatas

    Menggunakan

    anda boleh menggunakan fungsi berikut

    SUBSTRING_INDEX( i.final_car_type, ' ', 1 )
    Salin selepas log masuk
    • i.final_car_type ialah rentetan yang perlu dipisahkan

    • &rsquo ’ Iaitu: keluarkan Semua aksara sebelum ruang

    • Jika kiraan ialah nombor positif, hasilnya ialah segala-galanya di sebelah kiri pemisah N dari kiri ke kanan. Jika ia adalah nombor negatif, ia bermakna mengira dari kanan, mengambil segala-galanya di sebelah kanan pemisah ke-N

    • Kesannya

    Jika kiraan ialah 1

    Data jadual dan dalaman: Dongfeng Fengshen versi AX7 Mach baharu DF 21 (versi sunroof)

    • Selepas berpecah: Dongfeng Fengshen versi AX7 Mach baharu

    • Jika kiraan ialah -1

    Data jadual dan dalam: Dongfeng Fengshen versi AX7 Mach baharu DF 21 (versi sunroof)

    • Selepas membelah: 21 (Versi Skylight)

    • Prosedur tersimpan MySQL membahagi rentetan mengikut pembatas

      DELIMITER $$
       
      CREATE DEFINER=`root`@`%` PROCEDURE `proc_split_Id`(in selectIds blob(65535),
      in splitChar varchar(2))
      BEGIN
      set @i=0; 
      CREATE TEMPORARY TABLE if not exists Id_Result_s(Id long NOT NULL);
      truncate table Id_Result_s;
      SET @cnt = 1+(LENGTH(selectIds) - LENGTH(REPLACE(selectIds,splitChar,''))); 
      set @i=1; 
      	start transaction;
          WHILE @i <=@cnt DO          
              SET @result = REPLACE(SUBSTRING(SUBSTRING_INDEX(selectIds, splitChar, @i),
             LENGTH(SUBSTRING_INDEX(selectIds, splitChar, @i -1)) + 1),
             splitChar, &#39;&#39;);  
             INSERT INTO Id_Result_s(Id) VALUES (@result );
      		SET @i = @i + 1;   
          END WHILE;  
      	commit;    
      END
      Salin selepas log masuk
      selectIds perlu dipecahkan rentetan, splitChar ialah pembatas Hasil pemisahan disimpan dalam jadual sementara Id_Result_s

      Terdapat penyata sisipan dalam sementara, yang dimasukkan dalam gelung dan selepas beberapa ketika boleh meningkatkan kecekapan.

      Atas ialah kandungan terperinci Bagaimana untuk memisahkan rentetan dengan pembatas dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan