SELECT iif(LIKE(sol,'EM06%'), "other",sol) as solGroup;
FROM dpgift GROUP BY solGroup
上記は私に一意のsol値を含む列を与えるはずです。さらに、EM06で始まる任意のソル値を「その他」にグループ化する必要があります。それは動作しませんが、代わりに以下を返します。vfpのようなコマンドが動作しない
Solgroup
DM081
EM061
EM081
EM100
EM101
EM105
EM111
TM081
私はここで間違っているのを誰も見ることができますか? 2行目と3行目を「その他」と呼びます。
私はこのようなコマンドを何度も使用しています。私は構文に何か間違って見ることができず、私は成功なしに他のバリエーションを試しました。私は特定のフィールドタイプがうまくいかない場合でもキャストしようとしましたが、結果は常に同じです。
編集: '*'を使用し、ワイルドカード文字列を最初のパラメータとして使用します。 like
はここに何もしない
iif((LIKE("4%",sol) OR sol = "4"),"8M","other");
が、ゾルは「4」で始まる場合は、「=」演算子がtrueを返したので、私は(気づいていなかった:私は実際には次のようにしばらくの間、この間違いを犯してきました誰かが私に '='行動への参照をリンクできますか?)。理由は私がsol = "4"
を含む理由は、%が0以上ではなく1つ以上のcharを意味すると仮定したからです。 とにかく戻って、すべてのコードをiif(like("wtvr*",string),stringtrue,stringfalse)
に変更しました。
文字列の比較に '='を使用すると、msdnライブラリには記載されていないように思われます。
「EM」の前にcharがあってもあなたが 'iif(LIKE(sol、 '%EM06%')、" other "、sol)' – Lamak
を実行した場合にも起こります。 – slicedtoad