SQL Server 2012 FORMAT 함수와 CONCAT 함수
- Version : SQL Server 2012
SQL Server 2012에서 도입된 새로운 FORMAT 함수의 기능과 어떻게 사용될 수 있는지 실습을 통해 알아 본다.
[FORMAT]
SQL Server 2012에서 사용할 수 있는 포맷 함수이다. 포맷 형식에 따라 지정된 값을 반환 한다.
DECLARE @TodaysDate DATETIME = GETDATE() SELECT FORMAT ( @TodaysDate, 'd', 'en-US' ) AS [Using 'en-US' Culture] SELECT FORMAT ( @TodaysDate, 'd', 'de-DE' ) AS [Using 'de-DE' Culture] SELECT FORMAT ( @TodaysDate, 'd', 'en-IN' ) AS [Using 'en-IN' Culture] SELECT FORMAT ( @TodaysDate, 'd', 'en-CA' ) AS [Using 'en-CA' Culture] GO DECLARE @ProductCost INT = 100 SELECT FORMAT ( @ProductCost, 'c', 'en-US' ) AS [Using 'en-US' Culture] SELECT FORMAT ( @ProductCost, 'c', 'de-DE' ) AS [Using 'de-DE' Culture] SELECT FORMAT ( @ProductCost, 'c', 'en-IN' ) AS [Using 'en-IN' Culture] GO |
[CONCAT]
CONCAT 함수는 다양한 개수의 문자열 인수를 가져와 단일 문자열로 연결한다. 최소 두 개의 입력 값이 필요하며 그렇지 않은 경우 오류가 발생 한다. 모든 인수는 문자열 형식의 암시적으로 변환된 다음 연결 된다. NULL 값은 암시적으로 빈 문자열로 변환되며 모든 문자가 NULL인 경우 varchar(1)형식의 빈 문자열로 반환된다.
--SYNTAX: - CONCAT (string_value1, string_value2 [,string_valueN]) /* Using CONCAT Function */ Use AdventureWorks2008R2 GO SELECT TOP 10 CONCAT( PP.FirstName ,' ', PP.LastName ,',', PA.AddressLine1 ,',', PA.AddressLine2 ,'', PA.City ,',', PA.PostalCode) FROM Person.Address PA INNER JOIN Person.BusinessEntityAddress PBEA ON PA.AddressID = PBEA.AddressID INNER JOIN Person.Person PP ON PBEA.BusinessEntityID = PP.BusinessEntityID GO |
PRINT 문으로 CONCAT 기능을 사용 할 수도 있다.
SET NOCOUNT ON SELECT CONCAT('http://sqlmvp.kr ', GETDATE()) GO PRINT CONCAT('http://sqlmvp.kr ', GETDATE()) GO SET NOCOUNT OFF |
CONCAT 함수 사용시 주의사항도 있다. 다음 링크를 참고 한다.
l CONCAT 함수 (문자열 연결하기)와 주의 사항 : http://sqlmvp.kr/140194793806
[참고자료]
2014-01-21 / 강성욱 / http://sqlmvp.kr
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server 2012 논리 함수(IIF, CHOOSE) (0) | 2015.07.23 |
---|---|
SQL Server 2012 새로운 날짜 및 시간 함수 (0) | 2015.07.23 |
하위 쿼리 사용시 공간 인덱스 사용 불가 (0) | 2015.07.23 |
Spatial Data Type (공간 데이터 형식) (0) | 2015.07.23 |
Spatial Index (공간 인덱스) 생성, 수정, 삭제 (0) | 2015.07.23 |