Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Semestr2 / 1 - Oracle / Oracle selected docs / SQL reference.pdf
Скачиваний:
24
Добавлен:
12.05.2015
Размер:
11.92 Mб
Скачать

USER

"Number of Docks" FROM warehouses

WHERE warehouse_name = ’San Francisco’;

WAREHOUSE_NAME

Number of Docks

--------------------

--------------------

San Francisco

<Docks>4</Docks>

UPPER

Syntax upper::=

UPPER ( char )

Purpose

UPPER returns char, with all letters uppercase. char can be any of the datatypes

CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. The return value is the same datatype as char.

Examples

The following example returns a string in uppercase:

SELECT UPPER(’Large’) "Uppercase"

FROM DUAL;

Upper

-----

LARGE

USER

Syntax user::=

USER

Functions 6-199

USERENV

Purpose

USER returns the name of the session user (the user who logged on) with the datatype VARCHAR2. Oracle compares values of this function with blank-padded comparison semantics.

In a distributed SQL statement, the UID and USER functions identify the user on your local database. You cannot use these functions in the condition of a CHECK constraint.

Examples

The following example returns the current user and the user’s UID:

SELECT USER, UID FROM DUAL;

USERENV

Syntax userenv::=

USERENV ( parameter )

Purpose

Note: USERENV is a legacy function that is retained for backward compatibility. Oracle Corporation recommends that you use the SYS_CONTEXT function with the built-in USERENV namespace for current functionality. See SYS_CONTEXT on page 6-156 for more information.

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.

6-200 Oracle9i SQL Reference

USERENV

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 on page 13-12 and SYS_CONTEXT on page 6-156

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;

Functions 6-201

VALUE

Language

-----------------------------------

AMERICAN_AMERICA.WE8DEC

VALUE

Syntax value::=

VALUE ( correlation_variable )

Purpose

VALUE takes as its argument a correlation variable (table alias) associated with a row of an object table and returns object instances stored in the object table. The type of the object instances is the same type as the object table.

Examples

The following example uses the sample table oe.persons, which is created in "Substitutable Table and Column Examples" on page 15-67: SELECT VALUE(p) FROM persons p;

VALUE(P)(NAME, SSN)

-------------------------------------------------------------

PERSON_T(’Bob’, 1234) EMPLOYEE_T(’Joe’, 32456, 12, 100000)

PART_TIME_EMP_T(’Tim’, 5678, 13, 1000, 20)

See Also: "IS OF type Conditions" on page 5-19 for information on using IS OF type conditions with the VALUE function

VAR_POP

Syntax var_pop::=

OVER ( analytic_clause )

VAR_POP ( expr )

6-202 Oracle9i SQL Reference

VAR_POP

See Also: "Analytic Functions" on page 6-10 for information on syntax, semantics, and restrictions

Purpose

VAR_POP returns the population variance of a set of numbers after discarding the nulls in this set. You can use it as both an aggregate and analytic function.

The expr is a number expression, and the function returns a value of type NUMBER. If the function is applied to an empty set, then it returns null. The function makes the following calculation:

(SUM(expr2) - SUM(expr)2 / COUNT(expr)) / COUNT(expr)

See Also:

"Aggregate Functions" on page 6-8

"About SQL Expressions" on page 4-2 for information on valid forms of expr

Aggregate Example

The following example returns the population variance of the salaries in the employees table:

SELECT VAR_POP(salary) FROM employees;

VAR_POP(SALARY)

---------------

15140307.5

Analytic Example

The following example calculates the cumulative population and sample variances of the monthly sales in 1998:

SELECT t.calendar_month_desc, VAR_POP(SUM(s.amount_sold))

OVER (ORDER BY t.calendar_month_desc) "Var_Pop", VAR_SAMP(SUM(s.amount_sold))

OVER (ORDER BY t.calendar_month_desc) "Var_Samp" FROM sales s, times t

WHERE s.time_id = t.time_id AND t.calendar_year = 1998 GROUP BY t.calendar_month_desc;

Functions 6-203

Соседние файлы в папке Oracle selected docs