我有一點問題。我想執行一個查詢:Oracle提高查詢在哪裏條款
WHERE (column1 = 'tetxt1' and column2 = 'tetxt2' and column3 = 'tetxt3)
OR (column2 = 'tetxt2' and column3 = 'tetxt3')
OR (column1 = 'tetxt1' and column3 = 'tetxt3')
OR (column1 = 'tetxt1' and column2 = 'tetxt2')
OR (column3 = 'tetxt3')
OR (column1 = 'tetxt1)
OR (column2 = 'tetxt2)
換言之的where子句中的列可以是空的,但我需要一個有值的列將與和進行查詢。所以,如果我只有column1和column2的值而不是column3的值,那麼這兩者將被查詢和條件。我不認爲這會起作用:
Where (column1 = 'tetxt1' or column2 = 'tetxt2' or column3 = 'tetxt3')
並且我給出的第一種方法並不是最好的。你有什麼想法如何改善查詢? 非常感謝!
通過「空」,你的意思是列值將爲NULL或空字符串? – David
似乎在第一行缺少'tetxt3'後面的''。並且在tetxt1和tetxt2之後的最後2行再次出現,coalese或NVL可以幫助您。 – xQbert
在oracle中,一個空字符串將被自動轉換爲NULL,我認爲(那在MS SQL Server中不一樣)。是的,在我的情況下它是NULL。 – rean24