블로그 이미지
fiadot_old

칼퇴근을 위한 게임 서버 개발 방법론에 대한 심도있는 고찰 및 성찰을 위한 블로그!

Rss feed Tistory
Technical Article/펌 2003. 6. 16. 16:59

서버제공 함수

datetime형의 필드를 저장하려고 하드코딩으로 날짜 시간 하나하나 인자로 넘겨서 date에 저장하려면 오버헤드도 발생하고 짜증난다.(GETTIME()을 이용해서 간단히 해결할수 있다)

그래서 우리의 멋쨍이 MSSQL에서는 각종 함수를 미리 다 마련해두고 쓰세욤~ 하고 있다^^

배워 써보자!


기본적인것은 다음과 같다.


[Aggregate Functions]
레코드셋으로부터 어떠한 값을 집합적으로 뽑아내는 함수들이다
그냥 간단한 연산을 하는 놈들로 생각하면 쉽겠다~

쿼리 예제는 일반적으로 함수명(필드미여) FROM 테이블명 으로 구성된다!


AVG 함수
수치형으로 된 컬럼의 로우들에 대해 평균을 리턴 합니다.
SELECT AVG(advance) FROM titles

SUM 함수
수치형으로 된 컬럼의 로우들에 대해 수치데이터의 총합값을 계산합니다.
SELECT SUM(price), SUM(advance) FROM titles


COUNT 함수
컬럼의 로우 갯수를 리턴합니다.
이는 *로 잡으셔도 되며 컬럼 1개를 잡으셔도 같은 결과 입니다.
SELECT COUNT(*) FROM titles
SELECT COUNT(title) FROM titles

경험상으로는 COUNT함수가 제일 많이 사용되는거 같다.
총 사용자수를 뽑아올때나 폰번호가 이전에 저장되어있는지 볼때
SELECT count(*) from UserTable where Phone='0161234566' 해서
결과가 0이상이면 존재하는걸로 판단하기때문에...
이래저래 많이 쓰이드라~~

기타 MAX, MIN. 최대최소를 나타낸다.



[Date and Time Function]
날짜와 시간과 관련된 함수들이다.
별거 없다 ^^

GETDATE 함수
현재 날짜와 시간을 반환
SELECT GETDATE()

사용할때는 insert나 update시에 필드값으로 GETDATE()를 사용해서 서버에 넘김으로써~ 처리하는게 대부분이다.


DATEADD 함수
기존 날짜 데이터에 대해 날짜, 월, 년 등의 날짜 데이터를 더하는 함수.
SELECT DATEADD(day, 21, pubdate) AS timeframe FROM titles

DATEDIFF함수
날짜 데이터부터 지정일까지의 년,월,일 시간을 반환
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles


DATEPART함수
지정년도의 년, 월, 일 등의 특정 부분만을 반환
SELECT DATEPART(month, GETDATE()) AS 'Month Number'


GETDATE빼고는 별로 사용안하드라~~~ ㅋㅋ




[Mathematical Functions]
수학과 관련된 함수들 이다...으윽!!!
나와 무관하다 ( '')



[String Functions]
문자열과 관련된거...
얘들은 어플딴에서 처리해서 보내주는게 다반사기때문에 별로 사용은 안되지만 정리해두면 좋을듯해서 몇개만 적어본다.


LEFT
해당 컬럼의 문자열중 해당하는 문자열 까지만 문자열을 리턴
SELECT LEFT(title, 5) FROM titles

LEN
해당 컬럼의 문자열의 길이를 수치로 리턴
SELECT LEN(title) FROM titles

LOWER
해당 컬럼의 문자열(영문)을 모두 소문자로 변경
SELECT LOWER(title) AS 소문자 FROM titles

LTRIM
문자열 왼쪽의 공백을 제거함
  
--@konan_string 이라는 변수를 VARCHAR(100) 이라는
--100자의 문자열로 선언
DECLARE @konan_string varchar(100)
--@konan_string에 아래의 땀표부터 땀표까지 문자열 지정
SET @konan_string = ' 냐햐~ 코난이는 잘생겼다.'
--STRING에 LTRIM 적용으로 왼쪽의 빈 문자열 잘라냄
SELECT LTRIM(@konan_string)

변수를 생성하고 문자열을 변수에 대입후 처리하는 샘플  

LTRIM은 서버에서 처리해주는게 맞지 ㅡㅡ;; 넘어가고~


REPLACE
문자열중 일정 문자열 또는 문자를 다른 문자열로 변환
SELECT REPLACE('코난이는 잘 생겼다','잘','못')

SUBSTRING
문자열중 원하는 위치부터 원하는 길이만큼 문자열을 가져옴
SELECT au_fname, SUBSTRING(au_fname, 3, 2) as 세번째위치부터두글자 FROM authors


뭐 대충 스트링 클래스는 이정도면 되겠다..으흐흐흐



어플에서 처리해주든 DB에서 해주든...뭐...

자기 편한데로 하면 되지 ^^

나는 왠만한건 어플에서 쇼부보는걸 즐기는 편이다..흐흐

(역시 허접...ㅋㅋ)
,
TOTAL TODAY