SQL Server/SQL Server Tip

SQL Server 2012 FORMAT 함수와 CONCAT 함수

SungWookKang 2015. 7. 23. 08:53
반응형

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 

   

   

[참고자료] 

http://www.mssqltips.com/sqlservertip/2596/new-format-and-concat-functions-in-sql-server-2012/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=20140113 

   

   

2014-01-21 / 강성욱 / http://sqlmvp.kr 

반응형