1.날짜 및 시간 함수
GETDATE |
시스템 날짜 정보를 보여준다. |
SELECT GETDATE() | |
DATEADD |
원래 날짜에서 원하는 만큼의 날짜를 더하거나 빼준다. |
SELECT GETDATE(), DATEADD(DAY, 3, GETDATE()) AS ‘3일후’ | |
DATEDIFF |
기준이 되는 시간과의 시간차 |
SELECT DATEDIFF(DAY, GETDATE(),’2010-06-15’ 00:00:00.000’) | |
DATENAME |
지정한 특정 날짜의 한 부분을 나타내는 문자열을 반환한다. |
SELECT DATENAME(DAY, GETDATE()) AS’일’ | |
DATEPART |
날짜의 부분을 구해준다. |
SELECT DATEPART(year, getdate()) | |
year,month,day |
날짜형 date값에서 각각 해당하는 날짜 값을 선택 출력해준다. |
SELECT YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE()) | |
GETUTCATE |
국제 표준시를 보여준다. |
SELECT GETDATE() AS’현재시간’, GETUTCDATE() AS ‘UTC시간’ |
2.수치연산 함수
ABS |
수의 절대값을 반환해준다. |
ABS(-1), ABS(0.1), ABS(4) | |
CEILING,FLOOR |
최소 정수와 최대 정수를 구해준다. |
SELECT CEILING($123.45) SELECT FLOOR(123.45) | |
ROUND |
자리수를 반올림할 때 사용한다. |
SELECT ROUND(167.77, 1) | |
SIGN |
양수, 0, 음수 부호를 결정할 때 사용된다. 양수=1, 음수=-1, 0=0을 반환 |
SELECT SIGN(-7), SIGN(7), SIGN(0) | |
SIN,COS,TAN,COT |
삼각함수에서 사용되는 함수. |
SELECT SIN(45.00) | |
RAND |
난수를 발생 시키는 함수 |
SELECT RAND() | |
SQUARE,SQRT |
제곱값 제곱근을 구해주는 함수 |
SELECT SQUARE(11) SELECT SQRT(121) |
3.집계 함수
SUM |
합계를 구해주는 함수 |
SELECT SUM(sal) FROM employer | |
AVG |
평균을 구해주는 함수 |
SELECT AVG(sal) FROM employer | |
MAX, MIN |
최대값과 최소값을 구해주는 함수 |
SELECT MAX(sal) FROM employer | |
COUNT |
그룹의 항목 수를 반환하는 함수 |
SELECT COUNT(DISTINCT TYPE), COUNT(*) FROM TITLES | |
GROUPING |
해당 인수로 쓰인 값이 ROLLUP이나 CUBE연산사용 유무를 반환하는 함수 |
SELECT PUB_ID, GROUPING(PUB_ID) FROM TITLES GROUP BY PUBID WITH ROLLUP | |
STDEV |
통계에서 표준편차를 구할 때 사용 |
SELECT STDEV(SAL) FROM EMPLOYER |
4.문자열 함수
LEFT, RIGHT,SUBSTRING |
왼쪽, 오른쪽, 시작점에서의 길이만큼의 문자를 구해준다. | |
DECLARE @STR VARCHAR(50) SET @STR = ‘YOU ARE BITSTU’ SELECT LEFT(@STR,3), RIGHT(@STR,3), SUBSTRING(@STR,3,4) | ||
LOWER, UPPER |
대소문자 변경 함수 | |
SELECT LOWER(‘Hello Man’) SELECT UPPER(‘Hello Man’) | ||
ASCII, CHAR |
해당 문자의 ASCII숫자값을 보여주고 ASCII 문자 값을 보여준다. | |
SELECT ASCII(‘A’) SELECT CHAR(65) | ||
CHARINDEX |
특정한 문자열이 시작되는 시점의 숫자를 반환해준다. | |
SELECT CHARINDEX(‘ARE’, ‘YOU ARE BITSTU’) | ||
REPLACE |
일정한 문자열 부분을 다른 문자열로 치환 | |
SELECT REPLACE(‘우리는 선문대학생’,’선문대학’,’비트’) | ||
LEN,DATELENGTH |
문자열 길이를 반환 | |
SELECT LEN(‘SUNMOON’) SELECT DATELENGTH(‘SUNMOON’) | ||
REVERSE |
문자열을 역순으로 출력 | |
SELECT REVERSE(‘SUNMOON’) | ||
5.구성함수
@@connections |
연결 또는 연결을 시도한 횟수 |
Select @@connections | |
@@detefirst |
매주 지정된 첫째 날을 나타내는 요일관련 숫자 값 |
Select @@detefirst | |
@@language |
사용언어 |
Select @@language | |
@@max_connections |
최대 동시 연결자수 |
Select @@max_connections | |
@@textsize |
select문이 반환하는 text 데이터의 최대길이를 바이트단위로 지정 |
Select @@textsize | |
@@options |
SET옵션에 대한 정보들 |
Select @@options | |
@@spid |
사용자 프로세스의 서버 프로세스 식별자 |
Select @@spid |
6.메타 데이터 함수
Col_length |
컬럼 길이 |
Col_name |
컬럼 이름 |
db_id, db_name |
DB식별자(ID), DB이름 |
file_id, file_name |
파일 식별자(ID), 파일 이름 |
fileproperty |
파일 속성 정보 |
object_id, object_name |
DB개체의 식별자(ID), DB개체 이름 |
@@procid |
저장프로시저의 식별자(ID) |
7.보안 함수
is_member |
현재 사용자가 NT그룹이나 SQL서버 사용자인지 확인 |
suser_id |
사용자의 로그인 ID |
suser_name |
사용자의 로그인 ID이름 |
suser_sname |
사용자의 보안ID에 대한 ID이름 |
user_id, user_name |
DB사용자 ID, 이름 |
fn_trace_geteventinfo |
추적중인 이벤트에 대한 정보 |
has_dbaccess |
사용자가 DB에 접근할 수 있는지 정보 |
8.시스템 함수
app_name |
현재 세션의 응용프로그램 이름 |
case |
조건문에서 하나의 경우를 선택적으로 반환 |
cast, convert |
데이터 형식을 명시적으로 변경 |
cast(int as varchar(5)) convert(varchar(5), int) | |
current_user |
현재 사용자 |
@@error |
에러가 발생했을 때 에러번호를 보여준다. |
@@identity |
identity열 마지막으로 입력된 데이터의 identity값을 보여준다. |
host_id, name |
워크스테이션 ID, 이름 |
ullif |
두식이 같으면 NULL반환 |
Fn_helpcollations |
모든 데이터 정렬 목록 |
9.시스템 통계 함수
@@cpu_busy |
cpu의 소비시간 |
@@idle |
서버의 유효시간 |
@@pack_received |
서버가 네트워크에서 읽은 입력 패킷 수 |
@@pack_sent |
서버가 네트워크에 기록한 출력 패킷 수 |
@@timeticks |
틱 당 mili-second수 |
@@total_read |
디스크 읽기 수 |
@@total_write |
디스크 쓰기 수 |
저장 프로시저
저장 프로시저란 pre-compiled procedure, 즉 서버에 미리 컴파일 되어 있는 SQL 코드이다. 서버에 미리 컴파일 되어 있어 실행이 빠른 장점을 가진다.
à저장 프로시저는 데이터베이스에 의해 컴파일 된다. 일반 SQL문과는 다르게 저장 프로시저가 만들어질 때 최적화된 실행 계획을 세우고 저장함으로써 다시 실행될 때에는 재사용하게 된다.
à데이터베이스를 안전하게 보호 할 수 있다. 클라이언트로 접근하게 되는 사용자에 대해서는 SQL사용시 저장 프로시저만을 사용하게 함으로써 클라이언트가 직접 데이터를 변경하는 것을 막을 수 있다.
à클라이언트가 서버로 보낼 많은 SQL문을 서버에 저장하고 단순히 저장 프로시저의 이름과 매개변수만 보냄으로써 네트워크에 대한 부담을 줄일 수 있다.
à출력 매개 변수를 사용해서 레코드와 함께 여러 값들을 반환할 수 있다.
<간단한 저장 프로시저 만들기>
1.
|
서버 탐색기를 통해서 새 저장 프로시저를 추가해 준다. |
2.
|
저장 프로시저를 작성 후 저장해 준다. |
3.
|
서버탐색기의 저장프로시저에서 작성한 프로시저를 실행한다. |
4.
|
다음과 같이 저장프로시저를 사용하여 출력내용을 볼 수 있다 |
'.NET > ADO.NET' 카테고리의 다른 글
특정 행 복사하기 (0) | 2010.08.06 |
---|---|
회원탈퇴시 모든정보 날리기 (0) | 2010.07.26 |
다른컴퓨터로 DB 복사 (0) | 2010.07.12 |
내장 프로시저(사용법) (0) | 2010.07.10 |
DB에 이미지 저장 / 로드 하기 (0) | 2010.06.18 |