0

私はINSERTすべてのデータをSELECTED新しいテーブルに使用しますが、フィールドを追加IDS_EXISTし、各データのIDが正しくないかどうかを判断しますが、そのNOT NULLうちINSERT 'Y'の1つが変わるNULLINSERT 'N'

selectステートメントでこのようなif条件を使用することは可能ですか?

SELECT IF(C.ID != NULL AND C.UID != NULL AND C.SID != NULL,'Y','N'),
       C.NAME,
       C.ADDRESS,
       C.DATE 
FROM CLAIMS C

IF条件がこのように使用できることを一度知ったからです

SELECT IF('condition','value if true','value if false')

クエリを何度も逆にしますが、クエリで構文エラーが発生します

4

3 に答える 3

2

はい、使用している限り機能しますIS NOT NULLの操作)。NULL

、、などの算術比較演算子を使用して=、をテストすることはできません。<<>NULL

SELECT IF(1 != 2 AND 1 != NULL,'Y','N')

戻り値N

SELECT IF(1 != 2 AND 1 IS NOT NULL,'Y','N')

戻り値Y

于 2013-03-13T01:50:58.993 に答える
1

not と比較する場合 はNULLIS NOT NULL

SELECT   IF(C.ID IS NOT NULL AND C.UID IS NOT NULL AND C.SID IS NOT NULL,'Y','N'),
         C.NAME,
         C.ADDRESS,
         C.DATE 
FROM     CLAIMS C
于 2013-03-13T01:52:04.207 に答える
0

あなたは試すことができます

c.IDがnullでc.UIDがnullでなく、C.SIDがnullでない場合にケースを選択し、「Y」または「N」で終了

于 2013-03-13T08:44:58.297 に答える