Преобразование T-SQL в GCP BigQuery SQL. Как сделать null <> null в BQ SQL таким же, как SQL Server T-SQL?
Попытка преобразовать сценарий SQL из SQL Server T-SQL в GCP BigQuery SQL, и вам необходимо поддерживать параметр ANSI NULL, чтобы обеспечить те же результаты. Есть ли способ заставить Google BigQuery возвращать true при сравнении null = null (например, «null = null is true» ниже)?
Пример для T-SQL и BigQuery, показывающий разные результаты:
--GCP BigQuery test:
begin
declare null1 string;
declare null2 string;
select case when null1 = null2 then 'null = null is true'
else 'null = null is false'
end as bqsqlnulltest;
end
-- T-SQL (SQL Server) test:
set ansi_nulls off;
declare @null1 varchar(30);
declare @null2 varchar(30);
select case when @null1 = @null2 then 'null = null is true'
else 'null = null is false'
end as tsqlnulltest;
1 ответ
Я не уверен, что именно это соответствует вашему запросу. Но вы можете использовать эту конструкцию:
where (x = y) is not false
Или в вашем случае:
where (null1 = null2) is not false