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

Pisahkan string yang dipisahkan koma --> FUNCTION db.CHARINDEX tidak ada

MySQL tidak memiliki CHARINDEX() built bawaan fungsi. LOCATE() akan menjadi setara dengan MySQL.

Menggunakan SUBSTRING_INDEX() mungkin cara yang lebih ringkas untuk melakukan ini. Sesuatu seperti ini (penafian:belum diuji):

SUBSTRING_INDEX(POS, ',', 1) untuk POS

SUBSTRING_INDEX(POS, ',', -1) untuk POS2

Selain itu, saya mungkin salah memahami apa yang ingin Anda capai, tetapi sepertinya Anda mungkin ingin UPDATE baris yang ada, bukan INSERT yang baru? Sesuatu seperti:

UPDATE MyTable SET POS2 = SUBSTRING_INDEX(POS, ',', -1);
UPDATE MyTable SET POS = SUBSTRING_INDEX(POS, ',', 1);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL, mana yang lebih efisien longtext, text, atau blob? Meningkatkan efisiensi penyisipan

  2. Bekerja dengan Pemicu di Database MySQL - Sebuah Tutorial

  3. MySQL:Dapatkan total di baris terakhir hasil MySql

  4. MySQL #1093 - Anda tidak dapat menentukan 'hadiah' tabel target untuk pembaruan dalam klausa FROM

  5. Sisipkan beberapa baris dengan satu kueri MySQL