스칼라 함수(Scalar Functions)
함수범주 |
설명 |
구성 함수 |
현재 구성에 대한 정보를 반환합니다. |
커서 함수 |
커서에 대한 정보를 반환합니다. |
날짜 및 시간 함수 |
날짜 및 시간 입력 값에 대한 작업을 수행하며 문자열, 숫자 또는 날짜와 시간 값을 반환합니다. |
수치 연산 함수 |
함수에 매개 변수로 제공되는 입력 값을 기반으로 하여 계산 작업을 수행하고 숫자 값을 반환합니다. |
메타데이터 함수 |
데이터베이스와 데이터베이스 개체에 대한 정보를 반환합니다. |
보안함수 |
사용자와 역할에 대한 정보를 반환합니다. |
문자열 함수 |
문자열(char 또는 varchar) 입력 값에 대한 작업을 수행하고 문자열이나 숫자 값을 반환합니다. |
시스템 함수 |
Microsoft® SQL Server™의 값, 개체, 설정에 대한 작업을 수행하고 그에 대한 정보를 반환합니다. |
시스템 통계 함수 |
시스템에 대한 통계 정보를 반환합니다. |
텍스트 및 이미지 함수 |
텍스트 또는 이미지 입력 값이나 열에 대한 작업을 수행하고 그 값에 대한 정보를 반환합니다. |
이번 강좌에서는 Scalar 함수를 5가지 범주로 나누어 설명을 드리도록 하겠습니다.
1. Using Data Conversion Functions
SQL Server는 주어진 Data 형식을 다른 Data Type으로 명시적으로 변경하여 주는 CONVERT()라는 함수를 제공합니다.
CAST(expression AS data_type)
CONVERT(data_type [(length)], expression[, style])
문자열 함수
2. Working with Strings
함수 |
기본구문 |
내용 |
ASCII |
ASCII(character_expression) |
문자식에서 가장 왼쪽 문자의 ASCII 코드 값을 반환합니다. |
CHAR |
CHAR(integer_expression) |
Int ASCII 코드를 문자로 변환하는 문자열 함수입니다. |
CHARINDEX |
CHARINDEX ( expression1 , expression2 [ , start_location ] ) |
문자열에서 지정한 식의 시작위치를 반환합니다. |
DIFFERENCE |
DIFFERENCE ( character_expression , character_expression ) |
두 문자 식에서 SOUNDEX 값의 차이를 정수로 반환합니다. |
LEFT |
LEFT ( character_expression , integer_expression ) |
왼쪽에서부터 지정된 문자 수에서 시작하는 문자열의 일부를 반환합니다. |
LEN |
LEN(string_expression) |
주어진 문자열 식의 바이트 수 대신 후행 공백을 제외한 문자 수를 반환합니다. |
LOWER |
LOWER(character_expression) |
대문자로 된 데이터를 소문자로 변환한 후 문자 식을 반환합니다. |
LTRIM |
LTRIM(character_expression) |
선행 공백을 제거한 후 문자 식을 반환합니다. |
NCHAR |
NCHAR(integer_expression) |
유니코드 표준에서 정의된 대로 주어진 정수 코드로 유니코드 문자를 반환합니다. |
PATINDEX |
PATINDEX ( '%pattern%' , expression ) |
유효한 모든 text 및 character 데이터 형식에서 패턴이 처음으로 지정된 식에서 발생한 시작 위치를 반환하거나 패턴을 찾지 못하는 경우에는 0을 반환합니다. |
REPLACE |
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' ) |
첫째 문자열 식에서 둘째 문자열 식의 모든 인스턴스를 찾아 셋째 식으로 바꿉니다. |
QUOTENAME |
QUOTENAME ( 'character_string' [ , 'quote_character' ] ) |
입력 문자열이 유효한 Microsoft® SQL Server™ 구분 식별자가 되도록 추가된 구분 기호와 함께 유니코드 문자열을 반환합니다. |
REPLICATE |
REPLICATE ( character_expression, integer_expression ) |
지정한 횟수만큼 문자 식을 반복합니다. |
REVERSE |
REVERSE ( character_expression ) |
문자 식을 반대로 반환합니다. |
RIGHT |
RIGHT( character_expression , integer_expression ) |
오른쪽부터 integer_expression에서 지정한 수만큼의 문자를 제외한 나머지 문자열 일부를 반환합니다. |
RTRIM |
RTRIM(character_expression) |
먼저 후행 공백을 제거한 후 문자 식을 반환합니다. |
SOUNDEX |
SOUNDEX ( character_expression ) |
두 문자열의 유사성을 평가하기 위한 네 글자(SOUNDEX) 코드를 반환합니다. |
SPACE |
SPACE ( integer_expression ) |
반복된 공백의 문자열을 반환합니다. |
STR |
STR ( float_expression [ , length [ , decimal ] ] ) |
숫자 데이터에서 변환된 문자 데이터를 반환합니다. |
STUFF |
STUFF ( character_expression , start , length , character_expression ) |
지정한 시작 지점에서 지정한 문자 길이를 삭제한 다음 다른 문자 집합을 삽입합니다. |
SUBSTRING |
SUBSTRING ( expression , start , length ) |
문자, 이진 , 텍스트 , 이미지 식의 일부를 반환합니다. |
UNICODE |
UNICODE ('ncharacter_expression') |
유니코드 표준에서 정의한 대로 입력 식에 있는 첫 글자의 정수 값을 반환합니다. |
UPPER |
UPPER ( character_expression ) |
문자 식을 대문자로 변환된 소문자 데이터로 반환합니다. |
3. Using the Math Functions
함수 |
기본구문 |
내용 |
ABS |
ABS (numeric_expression) |
지정한 수식의 절대값을 양수로 반환합니다. |
ACOS |
ACOS (float_expression) |
코사인 값이 지정한 float 식인 각도를 라디안으로 반환합니다. 아크코사인이라고도 합니다. |
ASIN |
ASIN (float_expression) |
사인 값이 지정한 float 식인 각도를 라디안으로 반환합니다. 아크사인이라고도 합니다. |
ATAN |
ATAN (float_expression) |
탄젠트 값이 지정한 float 식인 각도를 라디안으로 반환합니다. 아크탄젠트라고도 합니다. |
ATN2 |
ATN2 ( float_expression , float_expression ) |
탄젠트 값이 지정한 두 개의 float 식 사이에 속하는 각도를 라디안으로 반환합니다. 아크탄젠트라고도 합니다. |
CEILING |
CEILING ( numeric_expression ) |
지정한 숫자 식 이상인 최소 정수를 반환합니다. |
COS |
COS ( float_expression ) |
지정한 식에서 지정한 각도의 삼각법 코사인을 라디안 단위로 반환하는 수치 연산 함수입니다. |
COT |
COT ( float_expression ) |
지정한 float 식에서 지정한 각도의 삼각법 코탄젠트를 라디안 단위로 반환하는 수치 연산 함수입니다. |
DEGREE |
DEGREES ( numeric_expression ) |
지정된 라디안 단위의 각도에 대해 해당하는 각도를 도 단위로 반환합니다. |
EXP |
EXP ( float_expression ) |
특정 float 식의 지수 값을 반환합니다. |
FLOOR |
FLOOR ( numeric_expression ) |
주어진 숫자 식 이하인 최대 정수를 반환합니다. |
LOG |
LOG ( float_expression ) |
주어진 float 식의 자연 로그를 반환합니다. |
LOG10 |
LOG10 ( float_expression ) |
주어진 float 식의 기수 10 로그를 반환합니다. |
PI |
PI ( ) |
PI 의 상수 값을 반환합니다. |
POWER |
POWER ( numeric_expression, y ) |
주어진 식의 값을 지정된 거듭제곱으로 반환합니다. |
RADIAN |
RADIANS ( numeric_expression ) |
숫자 식을 도 단위로 입력하면 라디안으로 반환합니다. |
RAND |
RAND ( [ seed ] ) |
0부터 1까지의 임의 float 값을 반환합니다. |
ROUND |
ROUND ( numeric_expression , length [ , function ] ) |
특정 길이나 정밀도로 반올림한 숫자 식을 반환합니다. |
SIGN |
SIGN ( numeric_expression ) |
주어진 식의 양수(+1), 영(0) 또는 음수(-1) 기호를 반환합니다. |
SIN |
SIN ( float_expression ) |
특정 각도(라디안)의 삼각 사인을 근사 숫자(float) 식으로 반환합니다. |
SQUARE |
SQUARE ( float_expression ) |
특정 식의 제곱을 반환합니다. |
SQRT |
SQRT ( float_expression ) |
특정 식의 제곱근을 반환합니다. |
TAN |
TAN ( float_expression ) |
입력한 식의 탄젠트를 반환합니다. |
4. Working with Dates
다음은 날짜와 시간에 관련된 함수입니다. 날짜함수는 날짜 및 시간 입력 값에 대해 작업을 수행하고 문자열, 숫자 또는 날짜 및 시간 값을 반환하는 기능을 제공합니다. 날짜 함수는 다음의 표와 같이 정리할 수 있습니다.
함수 |
기본구문 |
내용 |
DATEADD |
DATEADD (datepart , number, date ) |
지정한 날짜에 시간 간격을 더하여 새로운 datetime 값을 반환합니다. |
DATEDIFF |
DATEDIFF (datepart , startdate , enddate ) |
지정한 두 날짜 간에 교차되는 날짜와 시간 경계값을 반환합니다. |
DATENAME |
DATENAME (datepart , date ) |
지정한 날짜의 특정 날짜 부분을 나타내는 문자열을 반환합니다. |
DATEPART |
DATEPART (datepart , date ) |
지정한 날짜의 특정 날짜 부분을 나타내는 정수를 반환합니다. |
DAY |
DAY (date) |
지정한 날짜의 일 부분을 나타내는 정수를 반환합니다. |
GETDATE |
GETDATE() |
현재 시스템 날짜와 시간을 datetime 값의 Microsoft® SQL Server™ 표준 내부 형식으로 반환합니다. |
MONTH |
MONTH (date) |
지정된 날짜의 월 부분을 나타내는 정수를 반환합니다. |
YEAR |
YEAR (date) |
지정한 날짜의 연도 부분을 표시하는 정수를 반환합니다. |
ISDATE |
ISDATE (expression) |
입력 식이 유효한 데이터인지 여부를 확인합니다. |
5. System Functions
다음은 System 함수입니다. System 함수는 Microsoft® SQL Server™의 값, 개체, 설정에 대한 작업을 수행하고 그에 대한 정보를 반환합니다. System 함수는 다음의 표와 같이 정리할 수 있습니다. 더 자세한 사항은 BOOKS ONLINE을 참조하시기 바랍니다.
함수 |
기본구문 |
내용 |
APP_NAME |
APP_NAME() |
응용 프로그램에 의해 설정된 경우 현재 세션의 응용 프로그램 이름을 반환합니다. |
CASE |
- |
조건 목록을 평가하고 가능한 여러 결과 식 중 하나를 반환합니다. |
CAST CONVERT |
CAST (expression AS data_type) CONVERT (data_type [ (length) ] , expression [ , style ]) |
식을 다른 데이터 형식으로 명시적으로 변환합니다. |
COALESCE |
COALESCE (expression [ ,...n ] ) |
해당 인수 중에서 Null이 아닌 첫 번째 식을 반환합니다. |
CURRENT_TIMESTAMP |
CURRENT_TIMESTAMP |
현재 날짜 및 시간을 반환합니다. 이 함수는 GETDATE()와 동등합니다. |
CURRENT_USER |
CURRENT_USER |
현재 사용자를 반환합니다. 이 함수는 USER_NAME()과 동등합니다. |
DATALENGTH |
DATALENGTH ( expression ) |
식을 표시하는 데 사용된 바이트 수를 반환합니다. |
@@ERROR |
@@ERROR |
최근에 실행된 Transact-SQL 문의 오류 수를 반환합니다. |
HOST_ID |
HOST_ID() |
워크스테이션 ID를 반환합니다. |
HOST_NAME |
HOST_NAME() |
워크스테이션 이름을 반환합니다. |
@@IDENTITY |
@@IDENTITY |
마지막으로 삽입된 ID 값을 반환합니다. |
IDENTITY(함수) |
IDENTITY(함수) |
ID 열을 새 테이블에 삽입하기 위해 INTO table 절과 함께 SELECT 문에서만 사용됩니다. |
ISNULL |
ISNULL (check_expression , replacement_value) |
NULL을 지정된 대체 값으로 바꿉니다. |
ISNUMERIC |
ISNUMERIC(expression ) |
식이 유효한 숫자 형식인지 여부를 확인합니다. |
NULLIF |
NULLIF (expression , expression) |
지정된 두 식이 같으면 Null 값을 반환합니다. |
@@ROWCOUNT |
@@ROWCOUNT |
마지막 명령문의 영향을 받은 행 수를 반환합니다. |
SESSION_USER |
SESSION_USER |
기본값이 지정되지 않은 경우에 현재 세션의 사용자 이름에 대해 시스템이 제공한 값을 테이블에 삽입할 수 있도록 허용하는 무항 함수입니다. 또한, 쿼리, 오류 메시지 등에서도 사용자 이름을 사용할 수 있습니다. |
SYSTEM_USER |
SYSTEM_USER |
기본값이 지정되지 않은 경우에 현재 시스템 사용자 이름에 대해 시스템이 제공한 값을 테이블에 삽입할 수 있도록 허용합니다. |
@@TRANCOUNT |
@@TRANCOUNT |
현재 연결에서 사용 중인 트랜잭션 수를 반환합니다. |
USER_NAME |
USER_NAME ( [ id ] ) |
지정된 ID 번호에서 사용자 데이터베이스 사용자 이름을 반환합니다. |
'RDBMS(mysql,mssql)' 카테고리의 다른 글
[MSSQL] 11.LOCK(락)과 동시성(병행)제어 (0) | 2018.08.01 |
---|---|
[MSSQL] 10.트랜잭션(Transaction) (0) | 2018.08.01 |
[MSSQL] 8.데이터 검색(Query문) (0) | 2018.08.01 |
[MSSQL] 7.Data 무결성 (Integrity) (0) | 2018.08.01 |
[MSSQL] 6.Table (0) | 2018.08.01 |