DB2に文字列があります。 '1,2,3,45,64'。私のようなIN句でそれを使用したい:コンマ区切り文字列をカンマに変更するDB2のIN句で使用する区切り整数
Select * from table_name where column_name in (1,2,3,45,64)
しかし、「1,2,3,45,64」行為を文字列として、文字列引数で見つかった
」無効な文字をスローします 機能「DECFLOAT」の。SQLSTATE = 22018"
DB2に文字列があります。 '1,2,3,45,64'。私のようなIN句でそれを使用したい:コンマ区切り文字列をカンマに変更するDB2のIN句で使用する区切り整数
Select * from table_name where column_name in (1,2,3,45,64)
しかし、「1,2,3,45,64」行為を文字列として、文字列引数で見つかった
」無効な文字をスローします 機能「DECFLOAT」の。SQLSTATE = 22018"
あなたは、文字列の列値を見つけるために、機能を見つける使用することができますこんにちは、あなたはとき1ケースを避けるために、最初と最後に余分なコンマを追加する必要がありますし、 21の値が1に一致する可能性があります。基本的にvaあなたの列の中のlue 2はあなたの文字列中の '、2'部分文字列を探しています。関数findの部分文字列が開始位置を返した場合、それ以外の場合は-1を返します。
Select * from table_name where locate(','||column_name||',',',1,2,3,45,64,')>0
これを試してみてください。
Select * from table_name
where ',' || '1,2,3,45,64' || ',' like '%,' || yourcolumn || ',%'
は、単一引用符でテーブルに格納された値はありますか? –
いいえ、Columnのデータ型はvarchar(25) –
です。[ストアドプロシージャのINパラメータとしてコンマ区切り値を渡す](https://stackoverflow.com/questions/17795712/passing-comma-separated-value -as-in-stored-procedure-in-stored-procedure) – mustaccio