t-sql
中的select
查詢(續)
下面來談一下:
case
表示式。
這裡所說的
case
命令與其它語言中用到的
case
命令是有區別的。它不是用來對程式流程進行控制的,而是基於條件來邏輯地確定乙個表示式的值。要注意:系統不會為
case
表示式提供列名,因此,必須記住一定要為每個
case
表示式提供列名。 1.
簡單的
case。
在簡單的
case
中,第乙個引數是要檢查的表示式,接著是依次列出每個測試條件。但是,這種
case
的形式是有侷限性的,它只能進行等值比較。
case
表示式依次檢查每個
check
條件,並返回第乙個為真的
when
條件後的
then
子句中的值。如:
select customertypename,
case [isdefault]
when 1 then 『default type』
when 0 then 『possible』
else 『_』
end as assignstatus
from customertype
case
表示式是用
end關鍵字和別名來結束的。在本例中,
case
表示式對
isdefault
列進行了檢查,並在這個
sql select
語句的結果集中生成了乙個名為
assignstatus
的列。
2. 布林
case
與簡單的
case
相比,case
表示式的布林形式更加靈活,每個
case
分支都具有自己的布林表示式。所以,不僅在每個
when
條件中可以使用包括「
=」在內的多種比較運算子,而且在比較時還可以引用其他的列:
select
case
when 1<0 then 『reality is gone.』
when getdate()=』3/06/2006』
then 『john gets his driver』』s license.』
when 1>0 then 『life is normal.』
end as realitycheck
在布林case
中,如果遇到了第乙個為真的
when
條件,就不會再繼續對其他
when
條件進行檢查了,而是直接返回這個
when
條件所對應的
then
子句的值。 布林
case
表示式可以處理包含布林
and和布林
or的複雜條件。下面的例子**就使用了乙個批處理程式來建立
case
表示式,而且在這個
case
表示式中包含了
and和
between
運算子:
declare @b int,@q int
set @b=2006
set @q=22
select
case
when @b=2006 and @q between 15 and 30 then 1
else null
end as test
Mysql中的select查詢操作
mysql中的select查詢操作 一 基本介紹 對於資料庫而言,最常用的sql語句就是select語句了。它的用途是從乙個或多個表中檢索資訊。為了使用select檢索表資料,必須至少給出兩條資訊 想查詢什麼,以及從什麼地方查詢。二 select基本操作演示 首先建立乙個資料表book create...
T SQL 多值模糊查詢的處理
原文 t sql 多值模糊查詢的處理 多值模糊查詢的處理 所謂多值模糊查詢,就是應用程式中傳遞過來多個引數,對這些引數做拆分,拆分之後,對拆分結果的key值分別做模糊查詢處理 對於精確匹配時,不管是單個key值還是多個key值,都很容易處理,備選方案也很多 對於模糊查詢,單個key值也很容易,也就是...
T SQL 多值模糊查詢的處理
多值模糊查詢的處理 所謂多值模糊查詢,就是應用程式中傳遞過來多個引數,對這些引數做拆分,拆分之後,對拆分結果的key值分別做模糊查詢處理 對於精確匹配時,不管是單個key值還是多個key值,都很容易處理,備選方案也很多 對於模糊查詢,單個key值也很容易,也就是 where name like pa...