Basics of T-sql: Beyond basic Level 6: Using case expressions and IIF functionsGregory larsen,2016/04/20 (First edition: 2014/04/09)The seriesThis article is part of "Stairway series: The cornerstone of T-sql: Beyond the Basics"From his stairway to T-SQL DML, Gregory Larsen covers more advanced aspects of the T-SQL language, such as subqueries.In some cases, you need to write a single TSQL statement that can return different TSQL expressions based on
To make the company's attendance public, you need to write a small page that uses the access file shared by the front-end computer. The page must be able to directly determine whether the employee's work time is equal to the standard,
I got everything done in a statement. As a result, I found a strange problem. The same function IIF can be implemented for the part that gets off work, and there is a problem for the part where I go to work. It is actual
IifReturns one of the two numeric or string values determined by the logical test.GrammarDigitalIIf («logical expression»,«numeric expression1»,«numeric expression2»)If «logical expression» evaluates to TRUE, this function returns «numeric expression1», otherwise, returns «numeric expression2».StringIIf («logical expression»,«string expression1»,«string expression2»)If «logical expression» evaluates to TRUE, this function returns «string expression1», otherwise, returns «string expression2».Comm
Let's take a look at the differences between the two functions.
1.
Private
Function geteachqty ()
Function Geteachqty ( Byval OBJ As Object ) As Integer If Isdbnull (OBJ) = False Then Return Convert. toint32 (OBJ) Else Return 0 End If End Function
2. Private Function geteachqty () function geteachqty ( byval OBJ as Object ) as integer return IIF ( isdbnull (O
Ladies and gentlemen, I have found a small problem today. I would like to share it with you here. I hope it will be helpful for your future development and at least take a detour. It is not an esoteric thing, please read the content in a relaxed mood:
In VB.net, we can use system. math. log function, but it is different from VB6.0. net support for polymorphism, and log (a) is based on E by default and log (A, newbase). The latter supports changing the base number, such as system. math. log () is
Syntax
IIF (Expr,Truepart,Falsepart)
Example:
Select IIF (select =-1, "", amount) as new amount from table 1; has passed the test! In access, "-1" indicates "yes", "0" indicates "no "!
IIFReturns two numeric values or one of the string values determined by the logical test.
SyntaxNumberIIF (logical expression, numeric expression1, numeric expression2)
If the value of logical expression is true, numeric
This conversion is not very common. For some IIF expressions, You need to convert them to the formats supported by SQL Server. After debugging, you can support nested calls.
/**/
/// /// IIF statement in the conversion string /// /// ///
Static
Public
String
Changeiif (
String
Oldstr)
{ String Str = Oldstr;Str. Trim (); Int P0 = Oldstr. inde
. Next, you need to group the "summary table" obtained above by year and month, and count (Order ID) for order quantity, the sum aggregate function calculates the number of paid orders by summation with conditions.
Answer:
Select order year, order month, count (Order ID) as order quantity, sum (order sales * iif (whether paid =, 0) as paid order quantity, sum (order sales) as sales from (select list. order ID, order year, order month, order sales, w
String when resolving the IIF problem, in order to determine whether the IIF statement is legitimate, and find the conditions therein, return the value True and return the value false. It's not natural. A general function module is written to solve a string of words in the closed symbolic form. such as "(...)", "[...]" , reader can also set a closed symbol or string, but it must be symmetric, such as "AVB"
() function:
'Union select asc ('A') FROM ValidTable % 00: Returns the ASCII value of 65 ('A)
Convert ASCII values to characters
CHR () function:
'Union select chr (65) FROM validTableName % 00: 'A' is returned'
IF statement
You can use the IIF () function. Syntax: IIF (condition, true, false ):
'Union select
complete path .:
'Union select 1 from thisafakename. faketable % 00
Returns the ASCII value of a character.
ASC () function:
'Union select ASC ('A') from validtable % 00: Returns the ASCII value of 65 ('A)
Convert ASCII values to characters
CHR () function:
'Union select CHR (65) from validtablename % 00: 'A' is returned'
If statement
You can use the IIF
format of an existing string, for example, set the phone number format. The following expression uses the "replace" function to convert the format of the ten phone numbers in the field from 425-555-8080Format changed to (425) 555-8080 format: Copy code=System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(/d{3})[ -.]*(/d{3})[ -.]*(/d{4})", "($1) $2-$3")
Conversion functions
You can use the Visual Basic Function to convert the data type in the report as needed.
You can use the Vis
thisafakename. faketable % 00
Returns the ASCII value of a character.
ASC () function:
'Union select ASC ('A') from validtable % 00: Returns the ASCII value of 65 ('A)
Convert ASCII values to characters
CHR () function:
'Union select CHR (65) from validtablename % 00: 'A' is returned'
If statement
You can use the IIF () function. Syntax:
expression displays the number of values selected for the multivalued parameter myselection .=CStr(Parameters!MySelection.Count)
Decision function
The Iif function returns one of two values based on the evaluated result (True or False) of the expression. The following expression uses the Iif function to return a Boolean value of Truewhen the value of LineTotal exceeds 100. Otherwise, it will retur
SQL server's case when then statement, sqlcase
-- Select DataName,-- Case Code---- When 'w01' then 'male'---- When 'w07 'then' female'---- Else 'others'---- End as Code-- From dbo. HistoryData
Select DataName,(CaseWhen Code = 'w01' then 'male'When Code = 'w07 'then' female'Else 'others'End)From HistoryData
The access database has SQL server-like case when then statements.
Access does not have case whenHowever, there is an iif function that can be proc
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.