Single-Row Functions
단일 행 함수
- 단일 행 함수는 쿼리 대상 Table 혹은 View 의 모든 각각의 Row 들에 대해 수행한 연산의 결과를 단일 Row 로 반환한다.
(즉, n개 Row에 대한 단일 행 함수의 결과값의 개수는 n개 이다.)
- 단일 행 함수는 SELECT
쿼리에서 아래 Clause 들에 위치할 수 있다:
SELECT
LISTWHERE
ClauseSTART WITH
ClauseCONNECT BY
ClauseHAVING
Clause
- 단일 행 함수는 아래와 같이 분류된다:
- Numeric Functions
- Character Functions Returning Character Values
- Character Functions Returning Number Values
- Character Set Functions
- Collation Functions
- Datetime Functions
- General Comparison Functions
- Conversion Functions
- Large Object Functions
- Collection Functions
- Hierarchical Functions
- Data Mining Functions
- XML Functions
- JSON Functions
- Encoding and Decoding Functions
- NULL-Related Functions
- Environment and Identifier Functions
Numeric Functions (수치 함수)
Summary
- ABS(n)
- n의 절댓값
- ACOS(n)
- Arc Cosine n 값 - ASIN(n)
- Arc Sine n 값 - ATAN(n)
- Arc Tangent n 값 - ATAN2(n1, n2)
- Arc Tangent2 n1, n2 값
- BITAND(expr1, expr2)
- expr1과 expr2를 Bitwise AND 연산한 값
- CEIL(n)
- n을 올림한 값
- COS(n)
- Cosine n 값
- COSH(n)
- Hyperbolic Cosine n 값
- EXP(n)
e^n 값 - FLOOR(n)
- n을 내림한 값
- LN(n)
- ln n 값
- LOG(n2, n1)
log_{n2} n1 값
- MOD(n2, n1)
n2 MOD n1 값
- NANVL(n2, n1)
- n2가 NaN 일 경우, n1으로 대체
- POWER(n2, n1)
n2 ^ n1 값
- REMAINDER(n2, n1)
- n2 MOD n1 값
- ROUND(n [, integer ])
- n을 반올림한 값
- SIGN(n)
- n의 부호값
- SIN(n)
- Sine n 값
- SINH(n)
- Hyperbolic Sine n 값
- SQRT(n)
- Square Root n 값
- TAN(n)
- Tangent n 값
- TANH(n)
- Hyperbolic Tangent n 값
- TRUNC(n1 [, n2 ])
- n1을 소수점 n2 자리 이하를 절삭한 값
- WIDTH_BUCKET(expr, min_value, max_value, num_buckets)
- expr 값의 히스토그램
* Numeric Functions Specification (수치 함수 상세 스펙) (URL)
[Oracle Database 19c] Numeric Functions Specification | 수치 함수 상세 스펙
Numeric Functions Specification 수치 함수 상세 스펙 - Numeric Function은 단일 행을 입력받아 하나의 값을 반환하는 Single-Row Function이다. * Single-Row Functions | 단일 행 함수 (URL) [Oracle Database 19c] Single-Row Function
dad-rock.tistory.com
Character Functions Returning Character Values (문자 함수)
Summary
- CHR(n [ USING NCHAR_CS ])
- 코드값에 해당하는 문자 (Database Character Set or National Character Set)
- CONCAT(char1, char2)
- char1 과 char2 를 이어붙인 값
- INITCAP(char)
- 첫 글자를 대문자로 치환한 값
- LOWER(char)
- 소문자로 변환한 값
- LPAD(expr1, n [, expr2 ])
- expr1의 왼쪽에 n개의 expr2를 채운 값
- LTRIM(char [, set ])
- char의 왼쪽에 set 문자들을 제거한 값
- NCHR(number)
- 코드값에 해당하는 문자 (National Character Set)
- NLS_INITCAP(char [, 'nlsparam' ])
- char의 첫 글자를 대문자로 치환한 값
- NLS_LOWER(char [, 'nlsparam' ])
- char를 소문자로 변환한 값
- NLS_UPPER(char [, 'nlsparam' ])
- char를 대문자로 변환한 값
- NLSSORT(char [, 'nlsparam' ])
- 정렬 기준으로써 사용된 Collation Key 값
- REGEXP_REPLACE(source_char, pattern [, replace_string [, position [, occurrence [, match_param ] ] ] ])
- 정규 표현식으로 표현된 특정 패턴을 가진 문자열을 다른 문자열로 치환한 값
- REGEXP_SUBSTR(source_char, pattern [, position [, occurrence [, match_param [, subexpr ] ] ] ])
- 정규 표현식으로 표현된 특정 패턴을 가진 문자열의 일부를 추출한 값
- REPLACE(char, search_string [, replacement_string ])
- char의 searching_string에 해당되는 부분을 replacement_string로 대체한 값
- RPAD(expr1 , n [, expr2 ])
- expr1의 오른쪽에 n개의 expr2를 채운 값
- RTRIM(char [, set ])
- char의 오른쪽에 set 문자들을 제거한 값 - SOUNDEX(char)
- char의 표음문자값
- SUBSTR(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (Input Character Set에 맞춘 길이 계산)
- SUBSTRB(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (Byte 단위 길이 계산)
- SUBSTRC(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (Unicode 기준 길이 계산)
- SUBSTR2(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (UCS2기준 길이 계산)
- SUBSTR4(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (UCS4기준 길이 계산)
- TRANSLATE(expr, from_string, to_string)
- expr에서 from_string을 to_string으로 대체한 값 (REPLACE와 달리, 문자 한글자씩 매핑하여 치환)
- TRANSLATE(char USING { CHAR_CS | NCHAR_CS })
- char를 Database Character Set(CHAR_CS) 혹은 National Character Set(NCHAR_CS)으로 변환한 값
- TRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source)
- trim_source의 trim_character를 제거한 값 (좌, 우, 양쪽 선택 가능) - UPPER(char)
- char를 대문자로 변환한 값
Character Functions Returning Number Values (문자 함수)
Summary
- ASCII(char)
- char의 첫번째 문자의 Database Character Set 코드값
- INSTR(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (string의 Character Set 기반) - INSTRB(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (Bytes 기반) - INSTRC(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (Unicode Complete Characters 기반) - INSTR2(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (UCS2 Code Points 기반) - INSTR4(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (UCS4 Code Points 기반) - LENGTH(char)
- char의 길이값 (string의 Character Set 기반) - LENGTHB(char)
- char의 길이값 (Bytes 기반) - LENGTHC(char)
- char의 길이값 (Unicode Complete Characters 기반) - LENGTH2(char)
- char의 길이값 (UCS2 Code Points 기반) - LENGTH4(char)
- char의 길이값 (UCS4 Code Points 기반) - REGEXP_COUNT(source_char, pattern [, position [, match_param]])
- source_char 에서 pattern이 반복된 횟수값
- REGEXP_INSTR(source_char, pattern [, position [, occurrence [, return_opt [, match_param [, subexpr ] ] ] ] ])
- source_char 에서 pattern 이 처음으로 매칭된 부분의 첫 인덱스 값
Datetime Functions (날짜 함수)
Summary
- ADD_MONTHS(date, integer)
- date에서 integer개월 후의 날짜값
- CURRENT_DATE
- Session Time Zone의 현재 날짜값
- CURRENT_TIMESTAMP[(precision)]
- Session Time Zone의 현재 날짜와 시간값
- DBTIMEZONE
- Database Time Zone 값
- EXTRACT( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND | TIMEZONE_HOUR |
TIMEZONE_MINUTE | TIMEZONE_REGION | TIMEZONE_ABBR } FROM { expr } )
- expr로부터 특정 필드(YEAR, MONTH, DAY 등)를 추출한 값
- FROM_TZ(timestamp_value, time_zone_value)
- timestamp_value 와 time_zone_value 값 (TIMESTAMP WITH TIME ZONE 타입)
- LAST_DAY(date)
- date가 속해있는 달의 마지막 날짜값
- LOCALTIMESTAMP [ (timestamp_precision) ]
- Session Time Zone의 현재 날짜와 시간값 (TIMESTAMP 타입)
- MONTHS_BETWEEN(date1, date2)
- date1 과 date2 의 개월수 차이값
- NEW_TIME(date, timezone1, timezone2)
- timezone1의 date 값을 timezone2 Timezone 영역으로 변환한 값
- NEXT_DAY(date, char)
- date 날짜를 기준으로 직후 char 요일의 날짜값
- NUMTODSINTERVAL(n, 'interval_unit')
- n값을 일(Day)로 환산한 값 (interval_unit은 n값의 단위; 'DAY', 'HOUR', 'MINUTE', 'SECOND') - NUMTOYMINTERVAL(n, 'interval_unit')
- n값을 연도(Year)로 환산한 값 (interval_unit은 n값의 단위; 'YEAR', 'MONTH') - ORA_DST_AFFECTED(datetime_expr)
- datetime_expr에서 명시한 설정으로의 Database Time Zone 변경 성공 여부 값 (0/1)
- ORA_DST_CONVERT(datetime_expr [, integer [, integer ]])
- datetime_expr에서 명시한 설정으로의 Database Time Zone 변경 성공 여부 값 (datetime_expr 값)
- ORA_DST_ERROR(datetime_expr)
- datetime_expr에서 명시한 설정으로의 Database Time Zone 변경을 시도했을 때 에러코드 값 (0/1878/1883)
- ROUND(date [, fmt ])
- fmt에 맞추어 date 를 반올림한 값
- SESSIONTIMEZONE
- Current Session의 Time Zone 값
- SYS_EXTRACT_UTC(datetime_with_timezone)
- datetime_with_timezone 값을 UTC로 변환한 값
- SYSDATE
- Database Server의 현재 날짜와 시간값
- SYSTIMESTAMP
- 초 이하의 시간값과 Time Zone을 포함한 날짜 및 시간값
- TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
- datetime 혹은 interval을 VARCHAR2로 변환한 값
- TO_DSINTERVAL ( ' { sql_format | ds_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] )
- argument를 INTERVAL DAY TO SECOND 타입으로 변환한 값
- TO_TIMESTAMP(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- char를 TIMESTAMP 타입으로 변환한 값
- TO_TIMESTAMP_TZ(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- char를 TIMESTAMP WITH TIME ZONE 타입으로 변환한 값
- TO_YMINTERVAL( ' { [+|-] years - months | ym_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] )
- argument를 INTERVAL MONTH TO YEAR 타입으로 변환한 값
- TRUNC(date [, fmt ])
- date 값을 버림한 값
- TZ_OFFSET({ 'time_zone_name' | '{ + | - } hh : mi' | SESSIONTIMEZONE | DBTIMEZONE })
- Time Zone Offset 값
General Comparison Functions (일반 비교 함수)
Summary
- GREATEST(expr [, expr ]...)
- 열거된 expr들 중 가장 큰 값
- LEAST(expr [, expr ]...)
- 열거된 expr들 중 가장 작은 값
Conversion Functions (타입 변환 함수)
Summary
- ASCIISTR(char)
- char를 ASCII String으로 변환한 값
- BIN_TO_NUM(expr [, expr ]... )
- CAST({ expr | MULTISET (subquery) } AS type_name [ DEFAULT return_value ON CONVERSION ERROR ]
[, fmt [, 'nlsparam' ] ]) - CHARTOROWID(char)
- COMPOSE(char)
- CONVERT(char, dest_char_set[, source_char_set ])
- DECOMPOSE( string [, { 'CANONICAL' | 'COMPATIBILITY' } ] )
- HEXTORAW(char)
- NUMTODSINTERVAL(n, 'interval_unit')
- NUMTOYMINTERVAL(n, 'interval_unit')
- RAWTOHEX(raw)
- RAWTONHEX(raw)
- ROWIDTOCHAR(rowid)
- ROWIDTONCHAR(rowid)
- SCN_TO_TIMESTAMP(number)
- TIMESTAMP_TO_SCN(timestamp)
- TO_BINARY_DOUBLE(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_BINARY_FLOAT(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_BLOB( bfile [, mime_type] )
- TO_BLOB ( raw_value )
- TO_CHAR( { bfile | blob } [, csid] )
- TO_CHAR(nchar | clob | nclob)
- TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
- TO_CHAR(n [, fmt [, 'nlsparam' ] ])
- TO_CLOB( { bfile | blob } [, csid] [, mime_type] )
- TO_CLOB(lob_column | char)
- TO_DATE(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_DSINTERVAL ( ' { sql_format | ds_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] )
- TO_LOB(long_column)
- TO_MULTI_BYTE(char)
- TO_NCHAR({char | clob | nclob})
- TO_NCHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
- TO_NCHAR(n [, fmt [, 'nlsparam' ] ])
- TO_NCLOB(lob_column | char)
- TO_NUMBER(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_SINGLE_BYTE(char)
- TO_TIMESTAMP(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_TIMESTAMP_TZ(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_YMINTERVAL( ' { [+|-] years - months | ym_iso_format} ' [ DEFAULT return_value ON CONVERSION ERROR ])
- TREAT(expr AS [ REF ] [ schema. ]type)
- UNISTR( string )
- VALIDATE_CONVERSION(expr AS type_name [, fmt [, 'nlsparam' ] ])
Encoding and Decoding Functions (인코딩 및 디코딩 함수)
Summary
- DECODE(expr, search, result [, search, result ]... [, default ])
- expr에서 search가 발견되면 그에 대응되는 result를, expr과 같은 search가 발견되지 않으면 default
- DUMP(expr[, return_fmt [, start_position [, length ] ] ])
- expr의 메타정보
- ORA_HASH(expr [, max_bucket [, seed_value ] ])
- expr의 해시값
- STANDARD_HASH(expr [, 'method' ])
- expr의 해시값
- VSIZE(expr)
- expr의 Internal Representation의 크기 (Byte 단위)
NULL-Related Functions (NULL 처리 함수)
Summary
- COALESCE(expr [, expr ]...)
- 열거된 expr들 중 첫 번째로 null이 아닌 값
- LNNVL(condition)
- condition의 값이 FALSE인 경우 TRUE를, Column이 NULL인 경우에도 TRUE
- Column이 Nullable하고 부정문을 사용해야 하는 경우
- NANVL(n2, n1)
- n2가 NaN일 경우 n1
- NULLIF(expr1, expr2)
- expr1과 expr2가 같을 경우 null을, 다를 경우 expr1
- NVL(expr1, expr2)
- expr1이 null일 경우 expr2
- NVL2(expr1, expr2, expr3)
- expr1이 null이 아닐 경우 expr2를, null일 경우 expr3
Reference: Oracle, SQL Language Reference : 7 Functions, URL, 2023년 4월 5일 검색
Single-Row Functions
단일 행 함수
- 단일 행 함수는 쿼리 대상 Table 혹은 View 의 모든 각각의 Row 들에 대해 수행한 연산의 결과를 단일 Row 로 반환한다.
(즉, n개 Row에 대한 단일 행 함수의 결과값의 개수는 n개 이다.)
- 단일 행 함수는 SELECT
쿼리에서 아래 Clause 들에 위치할 수 있다:
SELECT
LISTWHERE
ClauseSTART WITH
ClauseCONNECT BY
ClauseHAVING
Clause
- 단일 행 함수는 아래와 같이 분류된다:
- Numeric Functions
- Character Functions Returning Character Values
- Character Functions Returning Number Values
- Character Set Functions
- Collation Functions
- Datetime Functions
- General Comparison Functions
- Conversion Functions
- Large Object Functions
- Collection Functions
- Hierarchical Functions
- Data Mining Functions
- XML Functions
- JSON Functions
- Encoding and Decoding Functions
- NULL-Related Functions
- Environment and Identifier Functions
Numeric Functions (수치 함수)
Summary
- ABS(n)
- n의 절댓값
- ACOS(n)
- Arc Cosine n 값 - ASIN(n)
- Arc Sine n 값 - ATAN(n)
- Arc Tangent n 값 - ATAN2(n1, n2)
- Arc Tangent2 n1, n2 값
- BITAND(expr1, expr2)
- expr1과 expr2를 Bitwise AND 연산한 값
- CEIL(n)
- n을 올림한 값
- COS(n)
- Cosine n 값
- COSH(n)
- Hyperbolic Cosine n 값
- EXP(n)
e^n 값 - FLOOR(n)
- n을 내림한 값
- LN(n)
- ln n 값
- LOG(n2, n1)
log_{n2} n1 값
- MOD(n2, n1)
n2 MOD n1 값
- NANVL(n2, n1)
- n2가 NaN 일 경우, n1으로 대체
- POWER(n2, n1)
n2 ^ n1 값
- REMAINDER(n2, n1)
- n2 MOD n1 값
- ROUND(n [, integer ])
- n을 반올림한 값
- SIGN(n)
- n의 부호값
- SIN(n)
- Sine n 값
- SINH(n)
- Hyperbolic Sine n 값
- SQRT(n)
- Square Root n 값
- TAN(n)
- Tangent n 값
- TANH(n)
- Hyperbolic Tangent n 값
- TRUNC(n1 [, n2 ])
- n1을 소수점 n2 자리 이하를 절삭한 값
- WIDTH_BUCKET(expr, min_value, max_value, num_buckets)
- expr 값의 히스토그램
* Numeric Functions Specification (수치 함수 상세 스펙) (URL)
[Oracle Database 19c] Numeric Functions Specification | 수치 함수 상세 스펙
Numeric Functions Specification 수치 함수 상세 스펙 - Numeric Function은 단일 행을 입력받아 하나의 값을 반환하는 Single-Row Function이다. * Single-Row Functions | 단일 행 함수 (URL) [Oracle Database 19c] Single-Row Function
dad-rock.tistory.com
Character Functions Returning Character Values (문자 함수)
Summary
- CHR(n [ USING NCHAR_CS ])
- 코드값에 해당하는 문자 (Database Character Set or National Character Set)
- CONCAT(char1, char2)
- char1 과 char2 를 이어붙인 값
- INITCAP(char)
- 첫 글자를 대문자로 치환한 값
- LOWER(char)
- 소문자로 변환한 값
- LPAD(expr1, n [, expr2 ])
- expr1의 왼쪽에 n개의 expr2를 채운 값
- LTRIM(char [, set ])
- char의 왼쪽에 set 문자들을 제거한 값
- NCHR(number)
- 코드값에 해당하는 문자 (National Character Set)
- NLS_INITCAP(char [, 'nlsparam' ])
- char의 첫 글자를 대문자로 치환한 값
- NLS_LOWER(char [, 'nlsparam' ])
- char를 소문자로 변환한 값
- NLS_UPPER(char [, 'nlsparam' ])
- char를 대문자로 변환한 값
- NLSSORT(char [, 'nlsparam' ])
- 정렬 기준으로써 사용된 Collation Key 값
- REGEXP_REPLACE(source_char, pattern [, replace_string [, position [, occurrence [, match_param ] ] ] ])
- 정규 표현식으로 표현된 특정 패턴을 가진 문자열을 다른 문자열로 치환한 값
- REGEXP_SUBSTR(source_char, pattern [, position [, occurrence [, match_param [, subexpr ] ] ] ])
- 정규 표현식으로 표현된 특정 패턴을 가진 문자열의 일부를 추출한 값
- REPLACE(char, search_string [, replacement_string ])
- char의 searching_string에 해당되는 부분을 replacement_string로 대체한 값
- RPAD(expr1 , n [, expr2 ])
- expr1의 오른쪽에 n개의 expr2를 채운 값
- RTRIM(char [, set ])
- char의 오른쪽에 set 문자들을 제거한 값 - SOUNDEX(char)
- char의 표음문자값
- SUBSTR(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (Input Character Set에 맞춘 길이 계산)
- SUBSTRB(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (Byte 단위 길이 계산)
- SUBSTRC(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (Unicode 기준 길이 계산)
- SUBSTR2(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (UCS2기준 길이 계산)
- SUBSTR4(char, position [, substring_length ])
- char에서 position부터 substring_length개의 문자를 추출한 값 (UCS4기준 길이 계산)
- TRANSLATE(expr, from_string, to_string)
- expr에서 from_string을 to_string으로 대체한 값 (REPLACE와 달리, 문자 한글자씩 매핑하여 치환)
- TRANSLATE(char USING { CHAR_CS | NCHAR_CS })
- char를 Database Character Set(CHAR_CS) 혹은 National Character Set(NCHAR_CS)으로 변환한 값
- TRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source)
- trim_source의 trim_character를 제거한 값 (좌, 우, 양쪽 선택 가능) - UPPER(char)
- char를 대문자로 변환한 값
Character Functions Returning Number Values (문자 함수)
Summary
- ASCII(char)
- char의 첫번째 문자의 Database Character Set 코드값
- INSTR(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (string의 Character Set 기반) - INSTRB(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (Bytes 기반) - INSTRC(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (Unicode Complete Characters 기반) - INSTR2(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (UCS2 Code Points 기반) - INSTR4(string , substring [, position [, occurrence ] ])
- string에서 substring이 나타나는 부분의 첫 번째 인덱스값 (UCS4 Code Points 기반) - LENGTH(char)
- char의 길이값 (string의 Character Set 기반) - LENGTHB(char)
- char의 길이값 (Bytes 기반) - LENGTHC(char)
- char의 길이값 (Unicode Complete Characters 기반) - LENGTH2(char)
- char의 길이값 (UCS2 Code Points 기반) - LENGTH4(char)
- char의 길이값 (UCS4 Code Points 기반) - REGEXP_COUNT(source_char, pattern [, position [, match_param]])
- source_char 에서 pattern이 반복된 횟수값
- REGEXP_INSTR(source_char, pattern [, position [, occurrence [, return_opt [, match_param [, subexpr ] ] ] ] ])
- source_char 에서 pattern 이 처음으로 매칭된 부분의 첫 인덱스 값
Datetime Functions (날짜 함수)
Summary
- ADD_MONTHS(date, integer)
- date에서 integer개월 후의 날짜값
- CURRENT_DATE
- Session Time Zone의 현재 날짜값
- CURRENT_TIMESTAMP[(precision)]
- Session Time Zone의 현재 날짜와 시간값
- DBTIMEZONE
- Database Time Zone 값
- EXTRACT( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND | TIMEZONE_HOUR |
TIMEZONE_MINUTE | TIMEZONE_REGION | TIMEZONE_ABBR } FROM { expr } )
- expr로부터 특정 필드(YEAR, MONTH, DAY 등)를 추출한 값
- FROM_TZ(timestamp_value, time_zone_value)
- timestamp_value 와 time_zone_value 값 (TIMESTAMP WITH TIME ZONE 타입)
- LAST_DAY(date)
- date가 속해있는 달의 마지막 날짜값
- LOCALTIMESTAMP [ (timestamp_precision) ]
- Session Time Zone의 현재 날짜와 시간값 (TIMESTAMP 타입)
- MONTHS_BETWEEN(date1, date2)
- date1 과 date2 의 개월수 차이값
- NEW_TIME(date, timezone1, timezone2)
- timezone1의 date 값을 timezone2 Timezone 영역으로 변환한 값
- NEXT_DAY(date, char)
- date 날짜를 기준으로 직후 char 요일의 날짜값
- NUMTODSINTERVAL(n, 'interval_unit')
- n값을 일(Day)로 환산한 값 (interval_unit은 n값의 단위; 'DAY', 'HOUR', 'MINUTE', 'SECOND') - NUMTOYMINTERVAL(n, 'interval_unit')
- n값을 연도(Year)로 환산한 값 (interval_unit은 n값의 단위; 'YEAR', 'MONTH') - ORA_DST_AFFECTED(datetime_expr)
- datetime_expr에서 명시한 설정으로의 Database Time Zone 변경 성공 여부 값 (0/1)
- ORA_DST_CONVERT(datetime_expr [, integer [, integer ]])
- datetime_expr에서 명시한 설정으로의 Database Time Zone 변경 성공 여부 값 (datetime_expr 값)
- ORA_DST_ERROR(datetime_expr)
- datetime_expr에서 명시한 설정으로의 Database Time Zone 변경을 시도했을 때 에러코드 값 (0/1878/1883)
- ROUND(date [, fmt ])
- fmt에 맞추어 date 를 반올림한 값
- SESSIONTIMEZONE
- Current Session의 Time Zone 값
- SYS_EXTRACT_UTC(datetime_with_timezone)
- datetime_with_timezone 값을 UTC로 변환한 값
- SYSDATE
- Database Server의 현재 날짜와 시간값
- SYSTIMESTAMP
- 초 이하의 시간값과 Time Zone을 포함한 날짜 및 시간값
- TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
- datetime 혹은 interval을 VARCHAR2로 변환한 값
- TO_DSINTERVAL ( ' { sql_format | ds_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] )
- argument를 INTERVAL DAY TO SECOND 타입으로 변환한 값
- TO_TIMESTAMP(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- char를 TIMESTAMP 타입으로 변환한 값
- TO_TIMESTAMP_TZ(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- char를 TIMESTAMP WITH TIME ZONE 타입으로 변환한 값
- TO_YMINTERVAL( ' { [+|-] years - months | ym_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] )
- argument를 INTERVAL MONTH TO YEAR 타입으로 변환한 값
- TRUNC(date [, fmt ])
- date 값을 버림한 값
- TZ_OFFSET({ 'time_zone_name' | '{ + | - } hh : mi' | SESSIONTIMEZONE | DBTIMEZONE })
- Time Zone Offset 값
General Comparison Functions (일반 비교 함수)
Summary
- GREATEST(expr [, expr ]...)
- 열거된 expr들 중 가장 큰 값
- LEAST(expr [, expr ]...)
- 열거된 expr들 중 가장 작은 값
Conversion Functions (타입 변환 함수)
Summary
- ASCIISTR(char)
- char를 ASCII String으로 변환한 값
- BIN_TO_NUM(expr [, expr ]... )
- CAST({ expr | MULTISET (subquery) } AS type_name [ DEFAULT return_value ON CONVERSION ERROR ]
[, fmt [, 'nlsparam' ] ]) - CHARTOROWID(char)
- COMPOSE(char)
- CONVERT(char, dest_char_set[, source_char_set ])
- DECOMPOSE( string [, { 'CANONICAL' | 'COMPATIBILITY' } ] )
- HEXTORAW(char)
- NUMTODSINTERVAL(n, 'interval_unit')
- NUMTOYMINTERVAL(n, 'interval_unit')
- RAWTOHEX(raw)
- RAWTONHEX(raw)
- ROWIDTOCHAR(rowid)
- ROWIDTONCHAR(rowid)
- SCN_TO_TIMESTAMP(number)
- TIMESTAMP_TO_SCN(timestamp)
- TO_BINARY_DOUBLE(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_BINARY_FLOAT(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_BLOB( bfile [, mime_type] )
- TO_BLOB ( raw_value )
- TO_CHAR( { bfile | blob } [, csid] )
- TO_CHAR(nchar | clob | nclob)
- TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
- TO_CHAR(n [, fmt [, 'nlsparam' ] ])
- TO_CLOB( { bfile | blob } [, csid] [, mime_type] )
- TO_CLOB(lob_column | char)
- TO_DATE(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_DSINTERVAL ( ' { sql_format | ds_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] )
- TO_LOB(long_column)
- TO_MULTI_BYTE(char)
- TO_NCHAR({char | clob | nclob})
- TO_NCHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
- TO_NCHAR(n [, fmt [, 'nlsparam' ] ])
- TO_NCLOB(lob_column | char)
- TO_NUMBER(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_SINGLE_BYTE(char)
- TO_TIMESTAMP(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_TIMESTAMP_TZ(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ])
- TO_YMINTERVAL( ' { [+|-] years - months | ym_iso_format} ' [ DEFAULT return_value ON CONVERSION ERROR ])
- TREAT(expr AS [ REF ] [ schema. ]type)
- UNISTR( string )
- VALIDATE_CONVERSION(expr AS type_name [, fmt [, 'nlsparam' ] ])
Encoding and Decoding Functions (인코딩 및 디코딩 함수)
Summary
- DECODE(expr, search, result [, search, result ]... [, default ])
- expr에서 search가 발견되면 그에 대응되는 result를, expr과 같은 search가 발견되지 않으면 default
- DUMP(expr[, return_fmt [, start_position [, length ] ] ])
- expr의 메타정보
- ORA_HASH(expr [, max_bucket [, seed_value ] ])
- expr의 해시값
- STANDARD_HASH(expr [, 'method' ])
- expr의 해시값
- VSIZE(expr)
- expr의 Internal Representation의 크기 (Byte 단위)
NULL-Related Functions (NULL 처리 함수)
Summary
- COALESCE(expr [, expr ]...)
- 열거된 expr들 중 첫 번째로 null이 아닌 값
- LNNVL(condition)
- condition의 값이 FALSE인 경우 TRUE를, Column이 NULL인 경우에도 TRUE
- Column이 Nullable하고 부정문을 사용해야 하는 경우
- NANVL(n2, n1)
- n2가 NaN일 경우 n1
- NULLIF(expr1, expr2)
- expr1과 expr2가 같을 경우 null을, 다를 경우 expr1
- NVL(expr1, expr2)
- expr1이 null일 경우 expr2
- NVL2(expr1, expr2, expr3)
- expr1이 null이 아닐 경우 expr2를, null일 경우 expr3
Reference: Oracle, SQL Language Reference : 7 Functions, URL, 2023년 4월 5일 검색