42

SQLiteデータベースを使用しています。私のテーブルには「パスワード」というテキスト列があります。以前、単純なselect * from myTableクエリを実行するために使用した値を取得しました。ただし、パスワードの値がそうでない場合はNULL、「はい」または「いいえ」として表示する必要があります。それは次のようなものです:

select * from myTable
if Password != NULL then Password = 'Yes'
else Password = 'No'

私はこれに関してたくさん検索しましたが、適切なリンクや例が見つかりませんでした。どんな助けや提案も本当にありがたいです。

4

4 に答える 4

71
SELECT *,
       CASE WHEN Password IS NOT NULL
       THEN 'Yes'
       ELSE 'No'
       END AS PasswordPresent
FROM myTable
于 2013-01-29T10:45:01.180 に答える
19

SQLite は CASE WHEN THEN END 構文を使用します。詳細については、http ://www.sqlite.org/lang_expr.html を参照してください。

構文は確認していませんが、次のように推測しています。

select * 
from myTable CASE WHEN Password != NULL THEN Password = 'Yes' ELSE Password = 'No' END;

それがまったくうまくいくかどうかはわかりませんが。テーブル内のすべてのレコードのパスワードの存在に基づいて YES または NO を取得しようとしている場合は、おそらくこれが目的に近いでしょう。

SELECT Field1, 
    Field2,
    (CASE WHEN Password != NULL THEN 
        'Yes' 
     ELSE 
        'No' 
     END) as 'Password'
FROM myTable;

繰り返しますが、私は現在、これを自分でテストするために SQLite にアクセスできないため、おそらく何らかの作業が必要です。

于 2013-01-29T10:09:51.523 に答える