CAST
:DATA 형변환
SELECT CAST('2020-10-19 12:35:29.123' AS DATETIME) AS 'DATETIME'
SELECT CAST('2020-10-19 12:35:29.1234567 +12:15' AS DATETIME2(7)) AS 'DATETIME2'
SELECT CAST('2020-10-19 12:35:29.1234567 +12:15' AS DATE) AS 'DATE'
SELECT CAST('2020-10-19 12:35:29.1234567 +12:15' AS TIME(7)) AS 'TIME'
SELECT CAST('2020-10-19 12:35:29.1234567 +12:15' AS DATETIMEOFFSET(7)) AS 'DATETIMEOFFSET'
SELECT CAST('2020-10-19 12:35:29.123' AS SMALLDATETIME) AS 'SMALLDATETIME'
복원 시키기 (restore)
명령어로 복원 시키자
use tempdb
restore database sqlDB from DISK = 'C:\백업장치\sqlDB_210528.bak' with replace;
DECLARE
: 변수 선언
USE sqlDB;
DECLARE @myVar1 INT;
DECLARE @myVar2 SMALLINT, @myVar3 DECIMAL(5,2);
DECLARE @myVar4 NCHAR(20);
SET @myVar1 = 5;
SET @myVar2 = 3;
SET @myVar3 = 4.25;
SET @myVar4 = '가수 이름==> ' ;
SELECT @myVar1 ;
SELECT @myVar2 + @myVar3;
SELECT @myVar4, Name FROM userTbl WHERE height >180 ;
max 형을 이용한 대량의 데이터 입력
REPLICATE('ㅁ',1000) ㅁ을 1000 개 넣은 문자열 생성
create table maxTbl
(
col1 varchar(Max),
col2 nvarchar(Max)
);
insert into maxTbl values(replicate(CAST('A' as VARCHAR(Max)),1000000),REPLICATE(convert(VARCHAR(Max),'가'),1000000));
SELECT LEN(col1) AS [VARCHAR(MAX)], LEN(col2)AS [NVARCHAR(MAX)] FROM maxTbl;
varchar ,nvarchar 는 각각 8000,4000 byte 까지의 변수를 저장 할 수 있다. 때문에
10000 byte 의 데이터를 정장 하기 위해서는 max type 을 사용해야 한다.
cast or convert 함수를 통해서 데이터를 먼저 max type 으로 변환 시킨후에 저장해야지 정상 동작 된다.
REPLACE('문자열','A','B')
문자열안의 A -> B 로 바꿔줌
UPDATE maxTbl
SET col1 = REPLACE((SELECT col1 FROM maxTbl),'A','B'),
col2 = REPLACE((SELECT col2 FROM maxTbl),'가','나');
select * from maxTbl;
REVERSE & SUBSTRING
REVERSE : 거꾸로 출력
SUBSTRING: COLUMN 잘라서 출력
SELECT REVERSE((SELECT col1 FROM maxTbl));
SELECT SUBSTRING((SELECT col2 FROM maxTbl),999991,10);
'공부,일 > SQL' 카테고리의 다른 글
20210601_2 (0) | 2021.06.01 |
---|---|
20210601 (0) | 2021.06.01 |
210531 (0) | 2021.05.31 |
210527 (0) | 2021.05.27 |
MS-SQL 백업, 복원 (0) | 2021.05.27 |
댓글