반응형
반응형

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')
           , CONVERT(float, '12.54321')
           , CONVERT(numeric, '12.54321')
           , CONVERT(numeric(6,4), '12.54321')
           , CONVERT(decimal(6,4), '12.54321')

--결과 1 : 12
--결과 2 : 12.54321
--결과 3 : 13
--결과 4 : 12.5432
--결과 5 : 12.5432
반응형
반응형

도구 - 옵션 - SQL Server  개체탐색기 - 명령 - 테이블 및 뷰 옵션

 상위 <n<개 행 편집 (선택) 명령의 값 수정

 
조회 및 편집  

상위 n개의 데이터를 정렬하여 조회하고 편집하고 싶을때

 

테이블 우클릭 - 상위 n개 행 편집 - 결과창 우클릭 - 창 -  SQL

SQL 창에서 order by  , where 등 쿼리 작성 

우클릭 - SQL 실행  - 결과창에서 데이터 편집

해당 테이블에서 "상위 200개 편집" 선택 후
조회된 데이터에서 우클릭 팝업 메뉴로 "창" - "조건" 선택해서 
필터에 원하는 조건 넣고 Ctrl + R 누르면 해당 데이터 조회 및 편집 가능합니다. 

 

반응형
반응형

[MSSQL] SELECT INTO - 테이블 또는 임시테이블 복사

 

select * into TEMP_테이블 from 원본테이블 [조건문]

 

 

만약 임시테이블을 생성하여 복사하고 싶다면

 

select * into #TEMP_테이블 from 원본테이블 [조건문]

 

#을 붙여주면된다.

 

##을 붙이면 전역 임시테이블로 생성되면

 

#은 해당 세션에서만 사용가능하며

##은 전역으로써 모든 세션에서 사용 가능하다.

 

임시테이블은 로그아웃 전까지 존재한다.

 

SELECT INTO TEMP TABLE statement syntax

--SELECT INTO TEMP TABLE statement syntax
SELECT * | Column1,Column2...ColumnN 
INTO #TempDestinationTable
FROM Source_Table
WHERE Condition​

 

반응형
반응형

현재 날짜시간을 Timestamp 정수값으로 변환

SELECT DATEDIFF(S, '01/01/1970 09:00:00', GETDATE())

 

특정 날짜시간을 Timestamp 정수값으로 변환

SELECT DATEDIFF(S, '01/01/1970 09:00:00', '2012-06-19 12:01:00')

 

특정 타임스탬프 정수값을 날짜시간으로 변환

SELECT DATEADD(SECOND, 1340074860, '01/01/1970 09:00:00')

 

반응형
반응형

[MSSQL] 테이블 두 개 사용해서 select 된 값 바로 update하기

 



1. 먼저 현재값과 update해야할 값을 조회해본다.

select a.컬럼1, b.컬럼1
   ,a.컬럼2, b.컬럼2
   ,a.컬럼3, b.컬럼3
   ,a.컬럼4, b.컬럼4
FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
where a.컬럼 = 조건



2. ,을 =로 바꾸주고 바로 update 해준다.

update a set a.컬럼1 = b.컬럼1
   ,a.컬럼2 = b.컬럼2
   ,a.컬럼3 = b.컬럼3
   ,a.컬럼4 = b.컬럼4
FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
where a.컬럼 = 조건



반응형
반응형

[MSSQL] DBCC CHECKIDENT 를 사용한 IDENTITY 값 초기화

 



IDENTITY 컬럼의 시작 값을 초기화 해야할 때 DBCC CHECKIDENT 명령을 사용하여 초기화 할 수 있다.
 

 -- 현재 IDENTITY 값 확인
DBCC CHECKIDENT('IDENT_TABLE', NORESEED)


DBCC CHECKIDNET('테이블명', NORESEED) 는 테이블의 현재 IDENTITY 값을 확인하는 명령어이다.

 

 -- IDENTITY 값 변경
 DBCC CHECKIDENT('IDENT_TABLE', RESEED, 1000)



DBCC CHECKIDENT('테이블명', RESEED, 초기화 값) 는 현재 값으로 사용할 새 값으로 초기화하는 명령어이다.
위의 경우 현재 값을 1000으로 초기화함으로써 새 값을 추가하면 1001이 삽입된다.

 

DBCC CHECKIDENT (Transact-SQL)

 

https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkident-transact-sql?view=sql-server-ver16 

 

DBCC CHECKIDENT (Transact-SQL) - SQL Server

DBCC CHECKIDENT checks the current identity value for the specified table in SQL Server, and changes the value if needed.

learn.microsoft.com

반응형

+ Recent posts