2014-01-10 148 views
1

我想寫一個sql查詢,它應該總是返回false。SQL始終返回false

如果我寫

select 1 from dual where 1=2; 

不返回任何結果。我怎麼能使用哪裏1 = 2總是返回「假」。

+1

select語句無法返回像'FALSE'一個布爾值。你可以返回1來表示true和0來表示錯誤的例如'選擇情況,當1 = 2然後1其他0結束標誌從雙;' –

+1

看不到原因。你沒有填充PL/SQL變量,這是你嗎?也許你可以描述你想要解決的問題 –

回答

0
SELECT CASE WHEN 1=2 THEN 1 ELSE 0 END FROM DUAL 
3

這是因爲沒有什麼,其中1 = 2

select false from dual 

(替換你希望它返回錯誤的值。)

1

基礎上plsqlplsqldeveloper標籤我有相信你在使用Oracle。事實證明,Oracle數據庫產品中沒有BOOLEAN類型,儘管PL/SQL中存在BOOLEAN類型。當我發現需要在數據庫中包含「true或false」值時,我將創建一個CHAR(1)列並將其限制爲只包含'T'或'F'的值;因此,如果「F」是一個「假」值,你可以不喜歡接受:

SELECT 'F' FROM DUAL 

如果你不喜歡「F」可以替代任何價值,你會小心選擇了「 F'。

分享和享受。

0

你爲什麼不乾脆用

選擇1