Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Ternary conditional operator
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===SQL=== The SQL {{code|CASE}} expression is a generalization of the ternary operator. Instead of one conditional and two results, ''n'' conditionals and ''n+1'' results can be specified. With one conditional it is equivalent (although more verbose) to the ternary operator: <syntaxhighlight lang="sql"> SELECT (CASE WHEN a > b THEN x ELSE y END) AS CONDITIONAL_EXAMPLE FROM tab; </syntaxhighlight> This can be expanded to several conditionals: <syntaxhighlight lang="sql"> SELECT (CASE WHEN a > b THEN x WHEN a < b THEN y ELSE z END) AS CONDITIONAL_EXAMPLE FROM tab; </syntaxhighlight> ====MySQL==== In addition to the standard {{code|CASE}} expression, MySQL provides an {{code|IF}} function as an extension: <syntaxhighlight lang="MySQL"> IF(cond, a, b); </syntaxhighlight> ====SQL Server==== In addition to the standard {{code|CASE}} expression, SQL Server (from 2012) provides an {{code|IIF}} function: <syntaxhighlight lang="T-SQL"> IIF(condition, true_value, false_value) </syntaxhighlight> ====Oracle SQL==== In addition to the standard {{code|CASE}} expression, Oracle has a [[variadic function]]al counterpart which operates similarly to a [[switch statement]] and can be used to emulate the conditional operator when testing for equality. <syntaxhighlight lang="sql"> -- General syntax takes case-result pairs, comparing against an expression, followed by a fall-back result: DECODE(expression, case1, result1, ... caseN, resultN, resultElse) -- We can emulate the conditional operator by just selecting one case: DECODE(expression, condition, true, false) </syntaxhighlight> The {{code|DECODE}} function is, today, deprecated in favour of the standard {{code|CASE}} expression. This can be used in both Oracle SQL queries as well as [[PL/SQL]] blocks, whereas {{code|decode}} can only be used in the former.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)