2
内の文字列の位置を取得することができます。は私が他の列
列を| 列B
1 | 1,2,3,4,5 4 | 1,2,3,4,5 5 | 1,2,3,4,5
はcolumn b
でcolumn a
位置を取得するためのあらゆる機能があり、最初のデータの結果は、第二は3で、3番目はあなたがFIND_IN_SET
を使用することができます4
内の文字列の位置を取得することができます。は私が他の列
列を| 列B
1 | 1,2,3,4,5 4 | 1,2,3,4,5 5 | 1,2,3,4,5
はcolumn b
でcolumn a
位置を取得するためのあらゆる機能があり、最初のデータの結果は、第二は3で、3番目はあなたがFIND_IN_SET
を使用することができます4
する必要があり、0です。
SELECT col_a, colb_b,
FIND_IN_SET(col_a, col_b) - 1 AS result
FROM tab;
出力:
╔═══════╦════════════╦════════╗
║ cola ║ colb ║ result ║
╠═══════╬════════════╬════════╣
║ 1 ║ 1,2,3,4,5 ║ 0 ║
║ 4 ║ 1,2,3,4,5 ║ 3 ║
║ 5 ║ 1,2,3,4,5 ║ 4 ║
╚═══════╩════════════╩════════╝
見つからない場合は、-1
を取得します。
SQL関数では、ほとんどが1ベースです。だからあなたは-1
が必要です。
データを正規化し、原子値を列に格納することを強くお勧めします。
私は知っていますが、それはテーブルのための特別な仕様です、実際には、パフォーマンスのために良いですが、実際にはそれのための列を作成したくない、多くのありがとう – Chan