본문 바로가기

데이터베이스44

MSSQL BETWEEN 사용하기 MSSQL BETWEEN 사용 BETWEEN 문이란? BETWEEN 문은 조건절에 사용되는데 범위를 나타내는데 주로 쓰입니다. MSSQL BETWEEN 사용방법 WHERE [컬럼명] BETWEEN [조건절] AND [조건절] 성적 테이블 생성 CREATE TABLE dbo.성적 ( 일련번호 int NOT NULL, 이름 varchar(6) NOT NULL, 점수 int NULL ) 데이터 입력 INSERT INTO dbo.성적 (일련번호, 이름, 점수) VALUES (1, '홍길동', 90) INSERT INTO dbo.성적 (일련번호, 이름, 점수) VALUES (2, '일지매', 95) INSERT INTO dbo.성적 (일련번호, 이름) VALUES (3, '임꺽정') 테이블 입력 결과 확인​ SE.. 2023. 1. 26.
MSSQL에서 특정 문자의 갯수 알기 MSSQL에서 특정 문자의 갯수 알기 MSSQL에서 특정 문자의 갯수를 알 수 있는 쿼리입니다. 아래의 쿼리는 C:\WINDOWS\System32 문자 중 '\'의 갯수 찾는 쿼리입니다. SELECT LEN('C:\WINDOWS\System32') - LEN(REPLACE('C:\WINDOWS\System32', '\', '') 2023. 1. 25.
MSSQL 날짜 형식 MSSQL 날짜형식 MSSQL 날짜 변환표 (기준날짜를 대상으로 CONVERT 실행하여 날짜 형변환) 쿼리 결과 코드 CONVERT(CHAR(19), DATETIME, 0) 01 02 2000 1:14PM MM DD YYYY H:MM CONVERT(CHAR(10), DATETIME, 1) 01/02/2000 MM/DD/YYYY CONVERT(CHAR(8), DATETIME, 2) 00.01.02 YY.MM.DD CONVERT(CHAR(8), DATETIME, 3) 02/01/00 DD/MM/YY CONVERT(CHAR(8), DATETIME, 4) 02.01.00 DD.MM.YY CONVERT(CHAR(8), DATETIME, 5) 02-01-00 DD-MM-YY CONVERT(CHAR(8), DATET.. 2023. 1. 19.
형변환 마스킹 형변환 마스킹 SELECT REPLACE(CONVERT(VARCHAR(100), CONVERT(MONEY, 950000), 1),'.00','') 그외 MSSQL의 형변환 방법입니다. 문자를 숫자로 바꾸는 경우 CAST('20' AS INT) 숫자를 문자로 바꾸는 경우 CAST(1234 AS CHAR(10)) 2023. 1. 18.
임시테이블 활용/Auto Commit/날짜 변환 임시테이블 활용/Auto Commit/날짜 변환 임시테이블 활용 declare @Str varchar(8000) declare @cnt int --임시테이블 검색 select @cnt = count(*) from tempdb.INFORMATION_SCHEMA.TABLES where table_name like '#aaa%' if @cnt >= 1 drop table #aaa Create Table #aaa ( nIndex int , sName varchar(16) , sID varchar(16)) --Insert [임시테이블] Exec [sql문] Insert into #aaa (nIndex,sName,sID) values (1, '123', '111') set @Str = 'select * from #.. 2023. 1. 12.
갯수 지정해서 값 가져오기 갯수 지정해서 값 가져오기 MsSql 같은 경우는 이런 기능이 없어 테이블을 설정할때 순번을 정해 주어야 합니다. 그 순번을 가지고 데이타를 검색하는것이구요 seq -> 순번 필드 SQL>SELECT name FROM storm_board WHERE seq 이렇게 하면 순번이 1~10까지 보여줍니다. SQL>SELECT Top 10 name FROM storm_board ---> 이렇게 하면 데이터가 1000건이 있더라도, 10건만 보여주게 된다 2023. 1. 9.
Microsoft SQL Server, 오류: 2 (로컬에 접속 안될때) Microsoft SQL Server, 오류: 2 (로컬에 접속 안될때) SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (provider: 명명된 파이프 공급자, error: 40 - SQL Server에 대한 연결을 열 수 없습니다.) (Microsoft SQL Server, 오류: 2) 도움말을 보려면 다음을 클릭하십시오: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476 이런.. 2023. 1. 6.
MS-SQL 추가/삭제/수정 MS-SQL 추가/삭제/수정 MS-SQL DB //추가 ALTER TABLE TableName ADD Fieldname VARCHAR(20) //삭제 ALTER TABLE TableName DROP Fieldname //수정 ALTER TABLE TableName ALTER COLUMN Fieldname VARCHAR(10) 2023. 1. 5.
여러 키 설정 여러 키 설정 create table AA( ABC int, DDD int, constraint pkAA primary key (ABC,DDD)) 2023. 1. 4.
날짜구하기(EX:20100101) 날짜구하기 SELECT SUBSTRING(REPLACE(CONVERT(char,GETDATE(),120),'-',''),1,8) as YYYYMMDD select convert(varchar,getDate(),112) 2023. 1. 3.
반올림,올림,절사,내림 반올림,올림,절사,내림 -반올림 Select ROUND(12.45,0,0) -올림 Select CEILING(12.45) -내림 Select FLOOR(12.45) -절사 :내림을 써도 되고, Round(12.45,0,1) 으로 사용해도 됨. 2023. 1. 2.
DB 이전 DB 이전 1.백업파일을 원하는 위치에 옮긴다. 2.퀴리창에서 Master로 로그인 3.restore database 데이타베이스명 from disk='백업파일위치(확장자까지 포함)' with replace 2022. 12. 30.
[공통]원격AS하면서 발생되는 [MS-SQL관련팁] [공통]원격AS하면서 발생되는 [MS-SQL관련팁] [1.암호변경 문법] C:\>OSQL -E 1>sp_password @old = null, @new = '변경암호', @loginame = 'sa' 2>go [2.백업복구방법] C:\>OSQL -E 1>restore database DB명 from disk='백업파일경로 및 파일명(확장자포함)' with replace 2022. 12. 29.
[공통] 테이블데이타 오류시 복구 테이블데이타 오류시 복구 USE Master ALTER DATABASE DB명 SET SINGLE_USER GO USE DB명 DBCC CHECKTABLE(테이블명, REPAIR_ALLOW_DATA_LOSS) GO USE Master ALTER DATABASE DB명 SET MULTI_USER GO 2022. 12. 28.
[SQL2005] 로그파일재생성 [SQL2005] 로그파일재생성 USE MASTER CREATE DATABASE DB명 ON (FILENAME='.mdf파일및경로') FOR ATTACH_FORCE_REBUILD_LOG 2022. 12. 27.
MSSQM 기본문법 MSSQM 기본문법 SQL문은 대소문자를 구분하지 않는다 단.데이타는 대문자와 소문자를 구분함 주석 처리는 /* .... */ 또는 한줄 -- 사용 SYSOBJECTS 테이블 => 데이타베이스의 모든 정보가 보관됨 SYSOBJECTS의 TYPE 칼럼으로 'U'=사용자 테이블 'P'=저장 프로시저 'K'=프라이머리 키 'F'=포린 키 'V'=뷰 'C'=체크 제약 등 오브젝트 이름과 정보를 알 수 있다 데이타 검색 /* USE 문을 사용한 데이타베이스 선택 */ USE 데이타베이스명 /* 모든 칼럼 불러오기 */ SELECT * FROM 데이블명 /* 상위 n개의 데이타만 가져오기 */ SELECT TOP n * FROM 테이블명 /* 특정 칼럼 가져오기 */ SELECT 칼럼1, 칼럼2, 칼럼3 FROM .. 2022. 12. 26.
MSSQL 인덱스란? MSSQL 인덱스 개념 인덱스의 개념을 설명할 때 가장 쉬운예가 바로 사전이다. 사전 같은경우 ㄱ,ㄴ,ㄷ,ㄹ~ㅎ 이런식으로 책을 찾기 쉽게 인덱스가 되어있다. ㄱ,ㄴ,ㄷ,ㄹ~ㅎ 을 인덱스라고 생각하면 된다.인덱스를 색인이라고도 한다. 만약에 인덱스가 없는 책이라면 일일이 한장한장 넘겨가면서 찾아야할 지도 모른다. 테이블이 간단할때는 사전이 3~4장 밖에 안되서 찾기가 쉬웠지만 테이블이 거대해지면 인덱스를 쓰는게 효율적이고 원하는 것을 빨리 찾을 수 있을 것이다. 장점 1.검색속도가 대체적으로 빨라진다. 2.시스템에 걸리는 부하가 줄어들어서 성능이 향상된다. 단점 1.인덱스가 들어갈 추가적인 공간이 필요하다. 2.인덱스를 생성하는데 시간이 소요된다. 3.데이터의 변경작업이 자주 일어나면 성능이 나빠진다. .. 2022. 12. 23.
MS-SQL 트리거 MS-SQL 트리거 트리거(Trigger) = '방아쇠' (네이버 사전을 찾아보니, "(반응・사건을 유발한) 계기[도화선]" 라는 뜻도 있음) 네이버 사전의 2번째 뜻이 좀 더 맞는것 같습니다. DBA라면 기본으로 자주 접할 것이고, 소규모 회사의 개발자라면 직접 DB까지 관리해야 하는 경우도 있는데, 어느정도는 알아두면 좋을 것 같네요. 트리거는 Oracle 등 다른 RDMBS도 지원하는 기능인데, MS-SQL에서만 사용해 보았습니다. ​ 위의 뜻처럼 DB에서 어떤 특정 이벤트가 발생하면 자동으로(방아쇠 당기면 총알이 나가듯이) 무언가 실행이 된다는 것으로 보면 되겠습니다. DB는 그 특성상 이벤트라 하면 테이블에 발생하는 것이겠죠? 테이블에 데이터가 삽입(INSERT)된다던지, 변경(UPDATE)된다.. 2022. 12. 22.
MSSQL HASHBYTES MSSQL HASHBYTES 적용 대상 SQL Server(지원되는 모든 버전) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics 병렬 데이터 웨어하우스 SQL Server에서 해당 입력의 MD2, MD4, MD5, SHA, SHA1 또는 SHA2 해시를 반환합니다. ​ 구문 HASHBYTES ( '', { @input | 'input' } ) ::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512 인수 입력 해시에 사용할 해싱 알고리즘을 나타냅니다. 필수 인수이며 기본값은 없습니다. 작은따옴표가 필요합니다. SQL Server 2016(13.x)부터 SHA2_256 및 SHA2_512 .. 2022. 12. 21.
sa 계정 비밀번호 변경 방법 sa 계정 비밀번호 변경 방법 SQL Server 인스턴스를 만들 때 인증 방식을 혼합 모드로 만들어서 sa 계정을 만들어 놓고 그 뒤로 윈도우 인증 방식으로만 접속하다보니 sa 계정 비밀번호를 잊어버리는 사태가 발생한 적이 있었다.. 이 때 sa 계정이 필요했던 이유는 윈도우 인증 방식이 [컴퓨터 이름]\[인스턴스 이름]으로 인증하기 때문에 컴퓨터 이름을 변경하면서 사용할 수 없어졌기 때문이다. 이번 포스팅은 sa 계정 비밀번호를 변경하기 위해 여러 번의 구글링과 몇 번의 오류를 해결한 뒤에 성공했던 여정을 기록한 글이다. 시작! 먼저, 컴퓨터 이름을 다시 기존 이름으로 바꾼 뒤 윈도우 인증 방식으로 SQL Server에 접속한다. [개체 탐색기]에서 서버 이름을 우클릭한 뒤 [속성] > [보안] > .. 2022. 12. 20.