Decode函数的语法
来源:互联网 发布:讲故事软件 编辑:程序博客网 时间:2024/05/22 12:27
Decode函数的语法结构如下:
decode (expression, search_1, result_1)
decode (expression, search_1, result_1, search_2, result_2)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)
decode (expression, search_1, result_1, default)
decode (expression, search_1, result_1, search_2, result_2, default)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
以下是一个简单测试,用于说明Decode函数的用法:
SQL> create table t as select username,default_tablespace,lock_date from dba_users;
Table created.
SQL> select * from t;
USERNAME DEFAULT_TABLESPACE LOCK_DATE
------------------------------ ------------------------------ ---------
SYS SYSTEM
SYSTEM SYSTEM
OUTLN SYSTEM
CSMIG SYSTEM
SCOTT SYSTEM
EYGLE USERS
DBSNMP SYSTEM
WMSYS SYSTEM 20-OCT-04
8 rows selected.
SQL> select username,decode(lock_date,null,'unlocked','locked') status from t;
USERNAME STATUS
------------------------------ --------
SYS unlocked
SYSTEM unlocked
OUTLN unlocked
CSMIG unlocked
SCOTT unlocked
EYGLE unlocked
DBSNMP unlocked
WMSYS locked
8 rows selected.
SQL> select username,decode(lock_date,null,'unlocked') status from t;
USERNAME STATUS
------------------------------ --------
SYS unlocked
SYSTEM unlocked
OUTLN unlocked
CSMIG unlocked
SCOTT unlocked
EYGLE unlocked
DBSNMP unlocked
WMSYS
8 rows selected.
------------------------------------------------------------------------------------------------------------------------------------------------
userenv命令的语法:
USERENV
returns information about the current session. This information can be useful for writing an application-specific audit trail table or for determining the language-specific characters currently used by your session. You cannot use USERENV
in the condition of a CHECK
constraint. Table 6-3 describes the values for the parameter
argument.
All calls to USERENV
return VARCHAR2
data except for calls with the SESSIONID
, ENTRYID
, and COMMITSCN
parameters, which return NUMBER
.
Table 6-3 Parameters of the USERENV Function
Parameter Return Value
CLIENT_INFO
CLIENT_INFO
returns up to 64 bytes of user session information that can be stored by an application using the DBMS_APPLICATION_INFO
package.
Caution: Some commercial applications may be using this context value. Check the applicable documentation for those applications to determine what restrictions they may impose on use of this context area.
See Also:
- Oracle9i Database Concepts for more on application context
- CREATE CONTEXT and SYS_CONTEXT
ENTRYID
ENTRYID
returns available auditing entry identifier. You cannot use this attribute in distributed SQL statements. To use this keyword in USERENV
, the initialization parameter AUDIT_TRAIL
must be set to TRUE
.
ISDBA
ISDBA
returns 'TRUE
' if the user has been authenticated as having DBA privileges either through the operating system or through a password file.
LANG
LANG
returns the ISO abbreviation for the language name, a shorter form than the existing 'LANGUAGE
' parameter.
LANGUAGE
LANGUAGE
returns the language and territory currently used by your session along with the database character set in this form:
language_territory.characterset
SESSIONID
SESSIONID
returns your auditing session identifier. You cannot use this attribute in distributed SQL statements.
TERMINAL
TERMINAL
returns the operating system identifier for your current session's terminal. In distributed SQL statements, this attribute returns the identifier for your local session. In a distributed environment, this is supported only for remote SELECT
statements, not for remote INSERT
, UPDATE
, or DELETE
operations.
Examples
The following example returns the LANGUAGE
parameter of the current session:
SELECT USERENV('LANGUAGE') "Language" FROM DUAL;Language-----------------------------------AMERICAN_AMERICA.WE8DEC
----------------------------------------------------------------------------------------------------------------------------------------------------
sys_contex()函数作用:
Oracle9i(Version 9.2)SYS_CONTEXT函数的用法
这个函数在写一些触发器,函数的时候非常有用处。
用法:SELECT sys_context('USERENV', '<parameter>') FROM dual;
第二个参数的可选值:
AUTHENTICATION_DATA
Data being used to authenticate the login user. For X.503 certificate authenticated sessions, this field returns the context of the certificate in HEX2 format.
Note: You can change the return value of the AUTHENTICATION_DATA attribute using the length parameter of the syntax. Values of up to 4000 are accepted. This is the only attribute of USERENV for which Oracle implements such a change.
AUTHENTICATION_TYPE
How the user was authenticated:
DATABASE: username/password authentication
OS: operating system external user authentication
NETWORK: network protocol or ANO authentication
PROXY: OCI proxy connection authentication
BG_JOB_ID
Job ID of the current session if it was established by an Oracle background process. Null if the session was not established by a background process.
CLIENT_INFO
Returns up to 64 bytes of user session information that can be stored by an application using the DBMS_APPLICATION_INFO package.
CURRENT_SCHEMA
Name of the default schema being used in the current schema. This value can be changed during the session with an ALTER SESSION SET CURRENT_SCHEMA statement.
CURRENT_SCHEMAID
Identifier of the default schema being used in the current session.
CURRENT_USER
The name of the user whose privilege the current session is under.
CURRENT_USERID
User ID of the user whose privilege the current session is under.
DB_DOMAIN
Domain of the database as specified in the DB_DOMAIN initialization parameter.
DB_NAME
Name of the database as specified in the DB_NAME initialization parameter.
ENTRYID
The available auditing entry identifier. You cannot use this option in distributed SQL statements. To use this keyword in USERENV, the initialization parameter AUDIT_TRAIL must be set to true.
EXTERNAL_NAME
External name of the database user. For SSL authenticated sessions using v.503 certificates, this field returns the distinguished name (DN) stored in the user certificate.
FG_JOB_ID
Job ID of the current session if it was established by a client foreground process. Null if the session was not established by a foreground process.
HOST
Name of the host machine from which the client has connected.
INSTANCE
The instance identification number of the current instance.
IP_ADDRESS
IP address of the machine from which the client is connected.
ISDBA
TRUE if you are logged on as SYS.
LANG
The ISO abbreviation for the language name, a shorter form than the existing 'LANGUAGE' parameter.
LANGUAGE
The language and territory currently used by your session, along with the database character set, in the form:language_territory.characterset.
NETWORK_PROTOCOL
Network protocol being used for communication, as specified in the 'PROTOCOL=protocol' portion of the connect string.
NLS_CALENDAR
The current calendar of the current session.
NLS_CURRENCY
The currency of the current session.
NLS_DATE_FORMAT
The date format for the session.
NLS_DATE_LANGUAGE
The language used for expressing dates.
NLS_SORT BINARY
or the linguistic sort basis.
NLS_TERRITORY
The territory of the current session.
OS_USER
Operating system username of the client process that initiated the database session.
PROXY_USER
Name of the database user who opened the current session on behalf of SESSION_USER.
PROXY_USERID
Identifier of the database user who opened the current session on behalf of SESSION_USER.
SESSION_USER
Database user name by which the current user is authenticated. This value remains the same throughout the duration of the session.
SESSION_USERID
Identifier of the database user name by which the current user is authenticated.
SESSIONID
The auditing session identifier. You cannot use this option in distributed SQL statements.
TERMINAL
The operating system identifier for the client of the current session. In distributed SQL statements, this option returns the identifier for your local session. In a distributed environment, this is supported only for remote SELECT statements, not for remote INSERT, UPDATE, or DELETE operations.
(The return length of this parameter may vary by operating system.)
- Decode函数的语法
- Decode函数的语法
- Oracle DECODE函数的语法
- Oracle DECODE函数的语法介绍
- Oracle DECODE函数的语法介绍
- Oracle DECODE函数的语法介绍
- Oracle DECODE函数的语法介绍
- Oracle DECODE函数的语法介绍
- Oracle DECODE函数的语法介绍
- Oracle DECODE函数的语法介绍
- Oracle DECODE函数的语法介绍
- DECODE的语法
- DECODE的语法
- Oracle DECODE函数的语法介绍以及使用技巧
- Oracle sql语法中decode函数的用法
- decode 函数的用法
- DECODE函数的使用
- decode 函数的用法
- WebSphere Application Server中配置MQ
- Solmyr 的小品文系列之一:字符串放在哪里?
- 明晰C++内存分配的五种方法的区别
- Solmyr 的小品文系列之二:模棱两可的陷阱
- CrystalReport
- Decode函数的语法
- Solmyr 的小品文系列之三:对象计数(上)
- asp检测文件编码
- 今天经理发给我的:---富人和穷人的12个经典差异
- Solmyr 的小品文系列之四:对象计数(下)
- 十年编程经验凝结 与新人们分享 转自 廖俊才
- Flex强大的图表功能
- Solmyr 的小品文系列之五:垃圾收集
- PPC backup程序的概览以及相应技术总结