본문 바로가기

DataBase

[mssql] set, nocount set, nocount 쿼리문 또는 프로시저의 영향을 받은 행 수를 나타내는 메시지가 결과 집합의 일부로 반환되지 않도록 하는것 프로시저의 성능 향상을 위해 사용 ex) SET NOCOUNT OFF SET NOCOUNT ON 두 가지 중에 사용가능하다. OFF 사용시 (0개 행이 영향을 받음) (0개 행이 영향을 받음) (1개 행이 영향을 받음) 위의 2개 (0개 행이 영향을 받음) 이라는 문구가 사라지게 된다. ON 사용시 그대로 다출력 더보기
[mssql] case, when case, when 약어나 코드를 읽기 쉬운 값으로 바꿔 줄때 사용 데이터를 범주화 할때 사용 형식 WHEN 조건1 THEN 값1 WHEN 조건2 THEN 값2 ELSE 값3 END 컬럼의 조건이 조건 1일때는 값 1을, 조건 2일때는 값 2를 두 가지 조건에 맞지 않는경우 값3을 반환 더보기
[mssql] isnull isnull 칼럼이 null값일 경우 다른값으로 대체할 수 있는 함수사용법 isnull(Colum,0) (isnull(@PARAMETER, '')='') ex) SELECT ISNULL(ID,'default') AS ID FROM table ID를 검색하여 null값이면, default로 검색하기 더보기
[mssql] join join : 두개이상의 테이블이나 데이터베이스를 연결하여 검색하는 방법 보통 PK 또는 FK로 두 테이블을 연결한다. 1. INNER JOIN 기준테이블과 Join한 테이블의 중복된 값 SELECT 테이블.칼럼, 테이블.칼럼 FROM 기준테이블 INNER JOIN 조인테이블 ON 기준테이블.키 = 조인테이블.키 SELECT A.EMAIL, B.BIRTH FROM TABLE A INNER JOIN JOIN_TABLE B ON A.IDX = B.IDX 2. LEFT OUTER JOIN 기준테이블의 값 + 테이블과 기준테이블의 중복된 값 (왼쪽 테이블을 기준으로 JOIN) SELECT 테이블.칼럼, 테이블.칼럼 FROM 기준테이블 LEFT OUTER JOIN 조인테이블 ON 기준테이블.키 = 조인테이블.키 S.. 더보기
[mssql] convert convert select convert( 포맷, [날짜], [변환형식] ) : 날짜 변환에 유용함. 부동 소수점 또는 숫자에서 정수로 변환할때, convert()함수는 결과를 자른다. 다른 변환일 경우에는 반올림한다. ex ) select convert(varchar, getdate(19), 120) -- 결과 : 현재시간의 초단위까지 ( 2020-12-16 23:04:33 ) select convert(varchar, getdate(16), 120) -- 결과 : 현재시간의 분단위까지 ( 2020-12-16 23:04 ) select convert(varchar, getdate(10), 120) -- 결과 : 현재날짜까지 ( 2020-12-16 ) 더보기
[mssql] update, set update, set 기본형식 UPDATE [테이블] SET [열] = '변경할값' WHERE [조건] update table set column = 2 where column = 1 table이란 테이블에 column이란 컬럼중 값이 1인 컬럼의 값을 2로 변경 조건이 없는 경우에는 테이블에 있는 열 전체가 변경할 값으로 UPDATE된다. 더보기
[mssql] 특정 테이블의 값 count 하는 프로시저 생성하기 이미 존재하는 테이블의 값을 count 하여 view 페이지로 보내줄 프로시저를 생성할 것이다. 테이블 예제 ) 이름 성별 나이 직업 거주지 김철수 남 18 의사 인천 김미영 여 35 변호사 서울 최영수 남 31 판사 경기 박민지 여 28 교사 인천 박상호 남 31 개발자 서울 더보기 위 테이블은 고객의 정보를 이름, 성별, 나이, 직업, 거주지 라는 컬럼으로 나뉘어 저장되어있다. 위 정보에서 성별이 '남' 인 고객만 count 하려고 한다. 프로시저 ) CREATE PROC [Customer_Count_Gender] SELECT SUM(case when 성별 in ('남') then 1 else 0 end) as 남자 SUM(case when 성별 in ('여') then 1 else 0 end) as.. 더보기
[DB] Field '' doesn't have a default value error(에러) 해당 테이블에 INSERT, UPDATE중 해당 컬럼의 값이 들어가지 않기 때문에 발생한 에러로서. 해결방법은 컬럼 속성을 NOT NULL에서 NULL로 변경함으로서 해결 할 수 있다. 프로젝트 진행중 uid 컬럼의 값을 notnull로 설정하였고 그로인해 발생한 에러였다. NULL값으로 수정하여 에러해결 더보기