스칼라 함수(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

+ Recent posts