各行に非常に長い文字列値を含む列があるSQLiteクエリに取り組んでいます。この文字列は、さまざまなトランザクションデータIEトランザクション量、トランザクション状態(完了/キャンセル)、トランザクションを完了したユーザーなどを示します。
今のところ、これらの列をクエリして、どのトランザクションが完了したか、つまり、行の文字列に「state」:「COMPLETED」が含まれていることを示すことにのみ関心があります。この値の前後には、上記のように他の文字列データがあります。たとえば、randomddata randomdata randomdata randomdata "state": "COMPLETED" randomdata randomdatarandomdata。この文字列値全体を表示するように列にクエリを実行する代わりに、この文字列をCOMPLETEDとして生成/変換するクエリを実行します。
REPLACE関数とTRIM関数を調べましたが、どちらも特定の文字または値を置き換える必要があるようです。「randomdata」の値はこの特定の列のセルごとに異なるため、これを行うことはできません。LIKE関数を使用して、「COMPLETED」を含む行をフィルターで除外することはできますが、変換がわかりません。
私は水中で死んでいるように感じるので、ここで誰かの助けを本当に感謝します:D。
列の値を置き換えたりトリミングしたりする必要はありません。
テーブルをクエリするだけの場合は、次のCASE
式を使用します。
SELECT CASE WHEN columnname LIKE '%COMPLETED%' THEN 'COMPLETED' END AS aliasname,
<other columns>
FROM tablename
columnname
列の名前とaliasname
列のエイリアスに置き換えます。
を含む行のみが必要な場合'COMPLETED'
は、WHERE
句に条件を設定し、値が'COMPLETED'
次の列を返します。
SELECT 'COMPLETED' AS aliasname,
<other columns>
FROM tablename
WHERE columnname LIKE '%COMPLETED%'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加