use*_*398 0 sql oracle decode case
我正在使用CASE&DECODE.CASE的SYNTAX是:
CASE [ expression ]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result
END
Run Code Online (Sandbox Code Playgroud)
如果我们写任何条件,我们可以使用WHEN ...那么写它.
那么,你能告诉我在一个案例中我们可以写多少次吗?那么条件.是他们写的任何限制WHEN ....那么条件在一个案例中.
感谢您的回复.其实我得到了我的问题的答案.我得到了我的问题的答案.
实际上我们只能在一个CASE中编写255个比较.每个WHEN ... THEN子句被认为是2个比较.
我们可以在一个CASE语句中编写255个比较.每个WHEN ... THEN子句被认为是2个比较.
相同的限制适用于解码.
DECODE函数中的最大参数数为255.这包括:EXPRESSION,SEARCH和RESULT参数.
直接来自http://docs.oracle.com/cd/E11882_01/server.112/e41084/expressions004.htm#SQLRF20037上的11.2手册
CASE表达式中的最大参数数为65535.所有表达式都计入此限制,包括简单CASE表达式的初始表达式和可选的ELSE表达式.每个WHEN ... THEN对都算作两个参数.为避免超出此限制,可以嵌套CASE表达式,以便return_expr本身是CASE表达式
(强调我的)
编辑
显然,此限制在11.2中显着增加,因为在11.1和10.2手册中,限制记录为255
http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm#i1033392
http://docs.oracle.com/cd/B28359_01/server.111/b28286/expressions004.htm#i1033392
| 归档时间: |
|
| 查看次数: |
5767 次 |
| 最近记录: |