萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 數據庫綜合 >> mysql的iif語句使用方法

mysql的iif語句使用方法

歡迎大家在這裡學習mysql的iif語句!下面是我們給大家整理出來的精彩內容。希望大家在這裡學習!

IIf

返回由邏輯測試確定的兩個數值或字符串值之一。

語法

數字

IIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2»)

如果 «Logical Expression» 取值為 TRUE,則此函數返回 «Numeric Expression1»,否則,返回 «Numeric Expression2»。

字符串

IIf(«Logical Expression», «String Expression1», «String Expression2»)

如果 «Logical Expression» 取值為 TRUE,則此函數返回 «String Expression1»,否則,返回 «String Expression2»。

注釋

只有當 «Logical Expression» 的值為零時,才認為該表達式是 FALSE。任何其它值都被解釋為 TRUE。

不推薦用 Iif 函數基於搜索條件創建成員的集合。請改用 Filter 函數根據邏輯表達式評估指定集合中的每個成員,然後返回成員的子集合。

示例

數字

如果 Measures.CurrentMember 是空單元,則下面的示例返回 0,否則返回 1:

IIf(IsEmpty(Measures.CurrentMember), 0, 1)

字符串

如果 Measures.CurrentMember 是空單元,則下面的字符串返回字符串 "Yes",否則返回字符串 "No":

IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")

在Access中我可以用IIF函數進行統計匯總,比如,要知道實際應該交費的用戶個數:

Select sum(iif(金額>0, 1,0)) as num from 費用

在SQL Server中好像沒有對應的函數,我用:

select sum(case when 金額>0 then 1 else 0 end) as num from 費用

好像不太直觀,不知道有沒有其它方法

case when ....then else end

例:select id,case when bz='1' then xx when bz='2' then yy else zz end as tt from xxx

那MID,LEFT等呢?在SQL中怎麼用?

MID 就是 SQL 裡的substring

LEFT 就是 SQL 裡的 LEFT

比如 substring(字段,開始位置,取多少長度)

left(字段,取多少長度)

SUBSTRING ( expression , start , length )

參數

expression

是字符串、二進制字符串、text、image、列或包含列的表達式。不要使用包含聚合函數的表達式。

start

是一個整數,指定子串的開始位置。

length

是一個整數,指定子串的長度(要返回的字符數或字節數)。

LEFT

返回從字符串左邊開始指定個數的字符。

語法

LEFT ( character_expression , integer_expression )

參數

character_expression

字符或二進制數據表達式。character_expression 可以是常量、變量或列。character_expression 必須是可以隱式地轉換為 varchar 的數據類型。否則,請使用 CAST 函數顯式轉換 character_expression。

integer_expression

是正整數。如果 integer_expression 為負,則返回空字符串。

返回類型

varchar

好了,mysql的iif語句內容就給大家介紹到這裡了。希望大家繼續關注我們的網站!

相關推薦:

mysql致命符號是什麼

copyright © 萬盛學電腦網 all rights reserved