티스토리 툴바

블로그 이미지
열심히 배우고자 하는 개발자들의 팀 블로그 입니다. 나머지 동료들을 모집 합니다. (루피, 조로, 우솝은 있습니다.) JMSOFT

카테고리

분류 전체보기 (16)
ASP.NET (3)
C# (1)
Silverlight (0)
WPF (0)
WCF (0)
C/C++ (1)
MFC (0)
SQLServer2008 (2)
SQL (6)
Transact-SQL (2)
WindowsServer2008 (1)
Total995
Today0
Yesterday1
T-SQL 을 작성 할 때 사용되는 기본적인 자료형 및 이러한 자료형을 DECLARE 키워드로 선언 하고 사용하는 방법에 대해서 살펴 보겠습니다.

기본적으로 웹페이지나, 응용프로그램에서 T-SQL로 작성한 프로시저를 호출하여 원하는 결과값을 가져와서 프로그램상에서 뿌려주는 경우가 많이 있습니다.

로직에 직접 SQL을 사용하여 원하는 결과를 얻을 수도 있지만 각각의 기능과 원하는 결과를 얻을 수 있는 프로시저를 미리 작성하여 호출하면 로직 상에 직접 SQL을 코딩 하는 것 보다 많은 장점을 얻을 수 있습니다.
(일단 로직이 깔끔해지는게 솔직히 젤 좋은것 같습니다.)

먼저 T-SQL 뿐만 아니라 SQL에서 사용하는 기본적인 자료형에는 다음과 같은 것들이 있습니다.

문자형
가변 문자형
고정 문자형
가변 유니코드 문자
고정 유니코드 문자
정수형
실수형
날짜

문자형의 범주가 또 여러가지로 나누어 지는데 각각의 범주에 대한 설명은 다음과 같습니다.

문자형 : 일반적인 문자열의 형태 1Byte가 하나의 글씨를 표현
           (1Byte : 영문 1글자, 2Byte : 한글 1글자)
           varchar, char
유니코드 문자 : 2Byte로 하나의 글짜를 표현
                      nvarchar, nchar
고정 : 처음 지정한 일정한 크기의 저장 영역을 사용
가변 : 처음 지정한 영역이네에서 데이터의 크기에 따라 사용 영역이 변경

다음은 DECLARE 문을 사용하여 T-SQL에서 사용할 변수들을 선언하고 사용 하는 방법 입니다.  기본적인 문법은 다음과 같습니다.

DECLARE @변수이름 자료형
 
사용 예는 다음과 같습니다.

-- DECLARE 문자
DECLARE @test1 varchar(10)  -- 가변 문자형 8000자 이하
DECLARE @test2 char(10)   -- 고정 문자형 8000자 이하
DECLARE @test3 nvarchar(10)  -- 가변 유니코드 문자 8000자 이하
DECLARE @test4 nchar(10)  -- 고정 유니코드 문자 8000자 이하

-- DECLARE 정수
DECLARE @test5 bigint   -- 정수형 8byte (-2^63 ~ 2^63)
DECLARE @test6 int    -- 정수형 4byte (-2^31 ~ 2^31)
DECLARE @test7 smallint   -- 정수형 2byte (-32768 ~ 32767)
DECLARE @test8 tinyint   -- 정수형 1byte (0 ~ 255)
DECLARE @test9 bit    -- 정수형 1bit (0,1)

-- DECLARE 실수
DECLARE @test10 numeric   -- 실수형 (정확한 숫자) (-10^38 ~ 10^38 - 1)
DECLARE @test11 decimal   -- 실수형 (정확한 숫자) (-10^38 ~ 10^38 - 1)
DECLARE @test12 float   -- 실수형 (부정확한 숫자) (-1.79E + 308 ~ 1.79E + 308)
DECLARE @test13 real   -- 실수형 (부정확한 숫자) (-3.40E + 38 ~ 3.40E + 38)

-- DECLARE 날짜
DECLARE @test14 datetime  -- 날짜형 (8byte)
DECLARE @test15 smalldatetime -- 날짜형 (4byte)
SET @test1 = 'test1'
SET @test2 = 'test2'
SET @test3 = 'test3'
SET @test4 = 'test4'
SET @test5 = 100
SET @test6 = 200
SET @test7 = 300
SET @test8 = 255
SET @test9 = 1
SET @test10 = 100.01
SET @test11 = 100.02
SET @test12 = 100.03
SET @test13 = 100.04
SET @test14 = GETDATE()
SET @test15 = GETDATE()

-- 출력 및 확인
PRINT @test1
PRINT @test2
PRINT @test3
PRINT @test4
PRINT @test5
PRINT @test6
PRINT @test7
PRINT @test8
PRINT @test9
PRINT @test10
PRINT @test11
PRINT @test12
PRINT @test13
PRINT @test14
PRINT @test15
저작자 표시 비영리 변경 금지
Posted by JMSOFT

최근에 받은 트랙백

글 보관함