SQL Server
함수
Bohemian life
2013. 2. 26. 14:45
--1.수치 함수-- ROUND(수치값, 반올림위치) /* 반올림 및 자르기 */ ABS(수치 데이타) /* 절대값 */ SIGN(수치 데이타) /* 부호 */ SQRT(수치값) /* 제곱근 */ POWER(수치값, n) /* n승 */
--2.문자열 함수 정리-- 1) Ascii() - 문자열의 제일 왼쪽 문자의 아스키 코드 값을 반환(Integer) 예) SELECT Ascii('abcd') >> 결과는 a의 아스키 코드값인 97 반환 2) Char() - 정수 아스키 코드를 문자로 반환(Char) 예) SELECT Char(97) >> 결과는 a 반환 3) Charindex() - 문자열에서 지정한 식의 위치를 반환 예) SELECT Charindex('b','abcde') >> 결과 : 2 SELECT Charindex('b','abcde',2) >> 결과 : 2 SELECT Charindex('b','abcde',3) >> 결과 : 0 --인수값이 3개일때 마지막은 abcde 에서의 문자열 검색 시작위치를 말하며 --2인경우는 bcde 라는 문자열에 대해서 검색 --3인 경우는 cde 라는 문자열에 대해서 검색 하게 된다. 4) Difference() - 두 문자식에 SUONDEX 값 간의 차이를 정수로 반환 예) SELECT Difference('a','b') 5) Left() - 문자열에서 왼쪽에서부터 지정한 수만큼의 문자를 반환 예) SELECT Left('abced',3) 결과 >> 3 6) Len() - 문자열의 길이 반환 예) SELECT Len('abced') 결과>>5 7) Lower() - 대문자를 소문자로 반환 예) SELECT Lower('ABCDE') 결과 >> abcde 8) Ltrim() - 문자열의 왼쪽 공백 제거 예) SELECT Ltrim(' AB CDE') 결과>> AB CDE 9)Nchar() - 지정한 정수 코드의 유니코드 문자 반환 예) SELECT Nchar(20) 결과 >> 10) Replace - 문자열에서 바꾸고 싶은 문자 다른 문자로 변환 예) SELECT Replace('abcde','a','1') 결과>>1bcde 11) Replicate() - 문자식을 지정한 횟수만큼 반복 예) SELECT Replicate('abc',3) 결과>> abcabcabc 12) Reverse() - 문자열을 역순으로 출력 예) SELECT Reverse('abcde') 결과>> edcba 13) Right() - 문자열의 오른쪽에서 부터 지정한 수 만큼 반환(Left() 와 비슷 ) 예) SELECT Right('abcde',3) 결과>> cde 14) Rtrim() - 문자열의 오른쪽 공백 제거 예) SELECT Rtrim(' ab cde ') 결과>> ' ab cde' -- 공백구분을위해 ' 표시 15) Space() - 지정한 수만큼의 공백 문자 반환 예) SELECT Space(10) 결과 >> 그냥 공백이 나옴 16) Substring() - 문자/이진/텍스트 또는 이미지 식의 일부를 반환 예) SELECT Substring('abcde',2,3) -- 결과>> bcd 17) Unicode() - 식에 있는 첫번째 문자의 유니코드 정수 값을 반환 예) SELECT Unicode('abcde') 결과>> 97 18) Upper() - 소문자를 대문자로 반환 예) SELECT Upper('abcde') 결과>> ABCDE
--날짜및 시간함수 정리-- getdate() >> 오늘 날짜를 반환(datetime) 1> DateAdd() - 지정한 날짜에 일정 간격을 + 새 일정을 반환 예) SELECT Dateadd(s,2000,getdate()) 2> Datediff() - 지정한 두 날짜의 간의 겹치는 날짜 및 시간 범위 반환 예)SELECT DateDiff(d,getdate(),(getdate()+31)) 3> Datename() -지정한 날짜에 특정 날짜부분을 나타내는 문자열을 반환 예) SELECT Datename(d,getdate()) 4> Datepart() -지정한 날짜에 특정 날짜부분을 나타내는 정수를 반환 예) SELECT Datepart(d,getdate()) ** 돌려주는값(약어) Year-yy, Quarter-qq, Month-mm, DayofYear-dy, Day-dd, Week-wk, Hour-hh, Minute-mi, Second-ss, Milisecond-ms SELECT DATEADD(dd, 7, 날짜칼럼) >> Datename , Datepart 은 결과 값은 같으나 반환 값의 타입이 틀림. 5> Day() -지정한 날짜에 일 부분을 나타내는 정수를 반환 예) SELECT Day(getdate()) -- 일 반환 SELECT Month(getdate()) -- 월 반환 SELECT Year(getdate()) -- 년 반환
--4. 형변환 함수-- CONVERT(데이타 타입, 칼럼) /* 칼럼을 원하는 데이타 타입으로 변환 */ CONVERT(데이타 타입, 칼럼, 날짜형 스타일) /* 원하는 날짜 스타일로 변환 */ CAST(칼럼 AS 데이타 타입) /* 칼럼을 원하는 데이타 타입으로 변환 */ ** 스타일 1->mm/dd/yy, 2->yy.mm.dd, 3->dd/mm/yy, 4->dd.mm.yy, 5->dd-mm-yy, 8->hh:mm:ss, 10->mm-dd-yy, 11->yy/mm/dd, 12->yymmdd SELECT CONVERT(varchar(10), 날짜칼럼, 2)