Text transfer from Freespider to Weibo
Look at other people's SQL today look at this inside there are also decode () function, has never been in contact with the Internet to check a bit, but also very useful for a function, write down hope to help friends Ah!
Introduction to the Decode () function:
Main role: Translation of query results into other values (that is, in other forms of expression, the following examples);
How to use:
Select decode (ColumnName, value 1, translation value 1, value 2, translation value 2,... Value n, translation value n, default value)
From Talbename
Where ...
Where ColumnName is the column defined in the table to be selected,
• Explanation of Meaning:
Decode (condition, value 1, translation value 1, value 2, translation value 2,... The value n, the translation value n, the default value) is understood as follows:
if (condition = = value 1)
Then
return (translation value 1)
elsif (Condition = = value 2)
Then
Return (translation value 2)
......
elsif (Condition = = value N)
Then
return (translated value n)
Else
return (default value)
End If
Note: The default value can be either the column name you want to select, or the other values you want to define, such as other;
To illustrate:
Now defines a table named output, where two column definitions are Monthid (VAR) and sale (number type), translated to d,=2000 when translated to c,=3000 when sale value =1000 translation to a , if other values are translated as other;
SQL is as follows:
Select Monthid, decode (sale,1000, ' D ', +, ' C ', +, ' B ', 4000, ' A ', ' other ') sale from output
Special cases:
If you are comparing with only one value
Select Monthid, decode (sale, NULL, '---', sale) sale from output
Another: Decode can use other functions, such as the NVL function or the sign () function, etc.
NVL (EXPR1,EXPR2)
If EXPR1 is null, the EXPR2 is returned, otherwise EXPR1 is returned.
SELECT Name,nvl (To_char (COMM), ' not application ') from TABLE1;
If you use the Decode function, it's
Select Monthid,decode (NVL (sale,6000), 6000, ' NG ', ' OK ') from output
The sign () function returns 0, 1,-1, depending on whether a value is 0, positive, or negative.
If you take a smaller value, it's
Select Monthid,decode (sale-6000), -1,sale,6000) from output, which is the purpose of taking a smaller value.
Decode () function in SQL