2017-10-25 6 views
0

対SQL Serverの私は、スクリプトを次のようしている。COALESCE:Oracleの

SELECT 1 
FROM Table t 
WHERE COALESCE(NULL, t.ID) = NULL; 

tは空です。クエリは、Oracleの場合は1を返し、SQL Serverの場合は何も返しません。

SQL ServerのCOALESCEの出力は何ですか?このコードを同じ方法で両方のDBに対して動作するように修正できますか?

+0

表が空の場合、Oracleは「1」を戻すことはできません。 –

+1

オラクルには当てはまりません。 't'が空であるかどうかにかかわらず、SQL(Oracle、SQL Server、および** all **他のSQLデータベース)を使用するANYデータベース製品では、クエリは返されません。何も**平等**なので、NULLにはならないからです。 – mathguy

答えて

1

最初の引数としてcolaesceがここにある点は、NULLです。問題は、COALESCE関数ではありません

SELECT 1 
FROM Table t 
where t.ID IS NULL; 
0

: ちょうどこれを行います。 tテーブルが空の場合、SQL Serverは行を見つけて返しません。

関連する問題