반응형

도구 - 옵션 - 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

반응형
반응형


select convert (varchar(8), dateadd (s, 148.3419954, '' ), 8) as '재생시간'
 

결과 : 00:02:28

반응형
반응형



PIVOT

 - 행과 열 변환

SELECT 컬럼명 FROM 테이블명
PIVOT([집계 함수]([집계 컬럼명]) FOR [대상 컬럼명] IN ([컬럼이 될 값])) AS 피벗테이블명


WITH A AS
(
    SELECT '1학년' AS '학년', '1반' AS '반', 100 AS '점수'
    UNION ALL SELECT '1학년', '2반', 30
    UNION ALL SELECT '2학년', '1반', 80
    UNION ALL SELECT '2학년', '2반', 90
)
SELECT * FROM A
PIVOT(SUM(점수) FOR 반 IN ([1반],[2반])) AS PVT






UNPIVOT

 - PIVOT의 반대

SELECT 컬럼명 FROM 테이블명
UNPIVOT([집계될 데이터의 컬럼명] FOR [UNPIVOT할 컬럼 데이터의 컬럼명] IN ([UNPIVOT할 컬럼명])) AS 언피벗테이블명


WITH A AS
(
    SELECT '1학년' AS '학년', 100 AS '1반', 30 AS '2반'
    UNION ALL SELECT '2학년', 80, 90
)
SELECT 학년, 반, 점수 FROM A
UNPIVOT(점수 FOR 반 IN ([1반], [2반]))AS UNPVT

반응형
반응형
--1. 일반적인 방법
UPDATE [TABLE_1]
   SET COL1 = SUB_COL1
     , COL2 = SUB_COL2
     , COL3 = SUB_COL3
 FROM
 (
     SELECT SUB_COL1
	      , SUB_COL2
		  , SUB_COL3
		  , USER_NUM
       FROM [TABLE_2]
      WHERE [조건...]
 ) SUB1
WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM


--2. CTE 를 사용한 방법
WITH CTE_TABLE AS
(
    SELECT SUB_COL1, SUB_COL2, SUB_COL3, USER_NUM
      FROM [TABLE_2]
     WHERE [조건...]
)
UPDATE [TABLE_1]
   SET COL1 = SUB_COL1
     , COL2 = SUB_COL2
     , COL3 = SUB_COL3
  FROM CTE_TABLE SUB1
 WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM
-- 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.컬럼 = 조건
반응형

'프로그래밍 > DataBase' 카테고리의 다른 글

[MSSQL] 초를 시분초로 변환  (0) 2023.08.08
[MSSQL] PIVOT, UNPIVOT , 행과 열 변환  (0) 2023.08.04
[MS-SQL] Begin Tran  (0) 2023.07.19
[MSSQL] 랜덤 (무작위) Select  (0) 2023.07.18
[MSSQL] IF…ELSE IF…ELSE  (0) 2023.07.14

+ Recent posts