SQL Server 2016 부터 STRING_SPLIT() 함수가 추가되어 컬럼 문자열의 구분자를 행으로 분리 할 수 있다. 이전 버전까지 사용자 함수를 만들어서 사용했지는 STRING_SPLIT() 함수를 사용하면 쉽게 해결 된다. STRING_SPLIT( "문자열", "구분자" ) 함수 사용법 SELECT empno , ename , skills , value FROM emp CROSS APPLY STRING_SPLIT(skills, ',') 조회된 skills 컬럼의 쉼표(',') 구분자를 잘라서 해당 개수만큼 행으로 변환한다. 결과 컬럼은 value로 생성된다. SELECT * FROM STRING_SPLIT('Java,Python,C++,C#', ',') FROM절에서 해당 함수를 사용할 수 ..
SQL Server 2008, SQL Server 2012 문자(VARCHAR)를 숫자형식(타입)으로 변경하는 방법을 소개한다. numeric과 decimal 타입은 소수점 이하 값을 반올림한다. int, float 타입 보다는 numeric과 decimal 타입을 사용할 것을 권장하며 그 중에서도 decimal 타입을 사용할 것을 권장 한다고 한다. int : 정수 float : 부동소수점 numeric : 실수 decimal : 실수 (numeric 동일) numeric( [전체길이(소수점이하포함)], [소수점이하길이] ) decimal( [전체길이(소수점이하포함), [소수점이하길이] ) 문자 -> 숫자 변환 CONVERT( [숫자형], [값] ) SELECT CONVERT(int, '12') , C..
SQL Server 2008, SQL Server 2012 문자(VARCHAR)를 날짜형식(타입)으로 변경하는 방법을 소개한다. 날짜 형식을 문자를 CONVERT 함수에 넣으면 날짜포맷을 인식하고 날짜(Date)형으로 값을 리턴한다. 날짜만 변환을 하고 싶다면 DATE형을 사용하고 날짜와 시간까지 변환하고 싶다면 DATETIME형을 사용하면 된다. DATE : 날짜 DATETIME : 날짜시간 문자타입 -> 날짜타입 변경 CONVERT( [날짜형식], [문자값] ) SELECT CONVERT (DATE, '2014-12-16') , CONVERT (DATE, '2014/12/16') , CONVERT (DATE, '20141216') , CONVERT (DATETIME, '2014-12-16') , CO..
SQL Server 2008, SQL Server 2012 날짜(Date) 형식의 값을 특정 문자(String) 포맷(Format)으로 바꾸는 방법을 소개한다. 아래는 자주 사용하는 YYYY-MM-DD HH24:MI:SS 으로 변경하는 방법이다. CONVERT( [포맷(길이)], [날짜 값], [변환형식] ) select convert(varchar, getdate(), 120) --결과 : 2014-12-12 19:21:36 ; select convert(varchar(10), getdate(), 120) --결과 : 2014-12-12 ; select convert(varchar(16), getdate(), 120) --결과 : 2014-12-12 19:21 [이외의 날짜 변환형식] select co..