簡體   English   中英

如何在沒有if / case流的情況下在SQL中返回是或否

[英]How to return Yes or No in SQL without if/case flows

除了SQL的IF和CASE外,還有另一種方法可以返回“是” /“否”表(在SQL中)嗎?

編輯:是的,這是一個不好的做法,不,我不能在應用程序中這樣做(這是一個有特定要求的學校項目)

以下是不良做法:

您可以有一列,其字符串值為“ Yes”和“ No”,然后從該列中進行選擇。

然后,您將必須維護此列的值。

更好的做法是:

有一個bit列,然后在針對該列的select中有一個case語句返回字符串值。

使用內聯視圖將0轉換為'No' ,將1轉換為'Yes' ,盡管您可以停在no。

SELECT yesNo.Option
FROM YourTable A
LEFT JOIN (SELECT 1 ID, 'YES' as Option UNION ALL SELECT 0, 'No') YesNo
 on A.Field1 = yesNo.ID

假定mytable的結果中的某個位置為0。

  1. Field1應該是具有0或1或您需要翻譯的任何內容的列名
  2. yourTable應該只是所討論的表(或查詢)
  3. 所有這些操作就是創建一個內嵌視圖,其中包含一系列硬編碼的翻譯。 最好有一個轉換表並簡單地使用它。

一個好主意是在兩個選擇之間使用UNION,一個選擇為“是”,另一個選擇為“否”。 但是以上答案就足夠了。 謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM