본문 바로가기

mssql26

날짜함수(GETDATE,DATEADD,DATEPART,DATEDIFF) 사용법 & 예제 날짜함수(GETDATE,DATEADD,DATEPART,DATEDIFF) 사용법 & 예제 GETDATE GETDATE함수는 현재 컴퓨터에 설정되어있는 시스템 시간을 불러와주는 함수입니다. 2018-03-31 오전 01:40:30 위와같이 GETDATE()함수는 년월일은 물론이거니와 분,초 까지도 구해줍니다. 하지만 모든 사용자들이 위와같은 형식으로 사용하지는 않겠죠. 여기서 우리는 우리가 표시할 시간이나 날짜만 적절히 뽑아 올 수도 있고 날짜 형태를 바꿔서 출력할수도 있습니다. 사용법 --현재 날짜 출력 -- SELECT GETDATE() AS 시스템일자 --현재 날짜의 연,월,일 출력 -- SELECT YEAR(GETDATE()) AS 년, MONTH(GETDATE()) AS 월, DAY(GETDATE(.. 2023. 1. 30.
second 데이터를"시분초"로 보여주기 second값을 "시분초"로 보여주기 --> 예제: select dbo.FN_CO_DatetimeToHHMISS(DATEDIFF(ss,접수일시,처리일시)) from VOC --> 결과: 39시간 12분 59초 alter FUNCTION [dbo].[FN_CO_DatetimeToHHMISS] ( @ss int ) RETURNS varchar(50) /**************************************************************** 프로그램유형: Function 프로그램ID : 프로그램명: FN_CO_DatetimeToHHMISS 내 용: second값을 "시분초"로 보여주기 작 성 자: 최보현 작 성 일: 2012/01/30 수정 내용: -------------------.. 2023. 1. 28.
DATEDIFF 함수, 날짜계산, DATETIME 계산 DATEDIFF 함수, 날짜계산, DATETIME 계산 DATEDIFF 함수는 DATETIME 형식의 MSSQL 내장함수이다. getdate() : 현재시간 getdate()+1 : 현재시간+1일 예를들어 현재시간(getdate())이 2016년 12월 01일 13:00:00 이면, 현재시간+1(getdate()+1)은 2016년 12월 02일 13:00:00 이다. ​ # 분단위 select DATEDIFF ( mi , getdate() , getdate()+1 ) --==> 1440 분 (1일) # 초단위 select DATEDIFF ( s , getdate() , getdate()+1 ) --==> 86400 초 (1일) # 시간단위 select DATEDIFF ( hour , getdate() ,.. 2023. 1. 27.
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.
반올림,올림,절사,내림 반올림,올림,절사,내림 -반올림 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.