반응형
SMALL

DB 39

소수점 자리수 및 표현법

1. 소수점 둘째 자리까지만 표현하고 싶다면 CONVERT를 이용하고 SELECT CONVERT(NUMERIC(5,2), '0.555555555') ==> 0.55 2. 셋째 자리에서 반올림하고 둘째 자리까지 표현하고자 한다면 ROUND함수로 반올림후에 아래 함수를 이용하기를 바란다. SELECT CONVERT(NUMERIC(5,2), ROUND('0.555555555',2)) ==> 0.56 3. 소수점이하를 버리고 싶을때 SELECT CEILING('4444.55') ==> 4445 본인이 자주 이용하기도 하고 자주 검색 하기도 해서 올려봤음 가장 기본인데도 기억이 가물거려서 메모해둠

DB 2024.04.04

MSSQL 소수점 아래 6진수 함수 만들기

/* =================================================================================== 작 성 자 : 홍길동 작 성 일 : 설 명 : 6진법으로 변환후 Return 실 행 : SELECT [dbo].[Convert_DEC2SIX](1.7) 변경이력 : 1) =================================================================================== */ CREATE FUNCTION [dbo].[Convert_DEC2SIX] ( @VALUE FLOAT ) RETURNS FLOAT AS BEGIN DECLARE @RETRUN FLOAT BEGIN IF SUBSTRING(CONVERT(..

DB 2024.04.04

DB에 만들어진 프로시져, 트리거, VIEW, FUNCTION 전체 내용 확인하기

1. 프로지셔, 트리거, VIEW, FUNCTION이 들어가 있는 DB_SPACE를 지정한다. 2. Ctrl + T 를 눌러 실행창을 txt형식으로 변경한다. 3. 아래 쿼리를 실행한다. [SP_% 라고 되어 있는곳에 검색할 명칭을 입력한다.] [참고] : 사용자마다 명칭이 제각각임 ======== 많이 사용하는 명칭 ======== 프로시져 SP_ , PROC_ 트리거 TR_ VIEW : V_ , VIEW_ FUNCTION : F_ , FNC_ ============================= DECLARE @NAME VARCHAR(100) SET @NAME = '' DECLARE CUR1 CURSOR FOR SELECT name FROM SYS.procedures WHERE name LIKE 'S..

DB 2024.04.04

[MS-SQL] 쿼리 속도 향상 / 인덱스 튜닝 관리자가 만들어주는 걸 써보자

쿼리를 만들고 나서 개발 테스트 하다보면 느린지 빠른지 모르겠다. 근데 운영에 반영하려면 인덱스가 필요한데 어쩌지 고민해본적 있을것이다. 저도 쿼리 속도 때문에 실행계획도 보고 하지만 어떻게 고치지 하고 매번 고민 합니다. 근데 인터넷 찾아보니 이런 방법이 있더라구요 다른분들도 해보세요 도움 되실거에요 1. 실행하려는 쿼리에 대해서 실행계획을 본다.(CTRL + L) 2. 실행계획을 실행하면 오른쪽에 빨간 부분에 ... 버튼이 활성화 된다. 3. 우클릭 팝업에서 누락된 인덱스 세부정보를 클릭 4. 쿼리창이 나오면서 인덱스를 생성하라고 나오면 인덱스 이름을 넣고 실행하면 된다. 이런 방법이 있었다니 이래서 공부를 해야한다는걸 느낀다. 세상이 너무 빨리 변하고 있다. 조건절에 따라 인덱스가 변하니 인덱스 만..

DB 2024.04.04

[MS-SQL] ROUND, CEILING 함수

오래간만에 쓰려고 하면 꼭 찾아보게 되는 함수 ROUND [반올림] --ROUND(값, 반올림 자릿수, [반올림 여부]) 구하려는 소수점 자리수의 한 자리 아래의 숫자를 반올림 혹은 버림한다. 반올림 여부가 0 또는 생략할 경우 반올림 반올림 여부가 음수값일 경우 버림 SELECT ROUND(1.456, 1) - 소수점 둘재 자리에서 반올림 결과 : 1.5 SELECT ROUND(1.456, 2) - 소수점 셋째 자리에서 반올림 결과 : 1.46 SELECT ROUND(1.456, 2, 0) - 소수점 셋째 자리에서 반올림 결과 : 1.46 SELECT ROUND(1.456, 2, -1) - 소수점 셋째 자리에서 버림 결과 : 1.45 CEILING(올림) --CEILING(값) 소수점 첫째자리에서 올림..

DB 2024.03.10

[MS-SQL] Management툴로 실행한 이전 쿼리 확인방법

어제 쿼리를 만들어서 조회까지 했는데 Management Tool을 종료해버려서 기억이 나지 않을때 아래 방법으로 해보라고 한다. 단, 휘발성 데이터로 지금까지 실행했던 모든 쿼리를 조회해주진 못한다. - 어플리케이션에서 실행했던 쿼리는 조회 안됨 - 해당 SQL Studio 에서 실행했던 쿼리가 아닌 쿼리는 조회 안됨 - 기간이 오래되어 히스토리에서 지워진 쿼리 또한 조회 안됨 Microsoft SQL Server Management툴에서 직접실행했던 쿼리들만 쿼리구문과 날짜로 보여준다. 한줄로 보여지는 쿼리라 주석이 없다면 Instant sql formatter로 변환하면된다. 목록에서 쿼리정렬 또는 2021.01.13일 만든 글자를 읽어보기 바란다. SELECT DB_NAME(ST.DBID) DBN..

DB 2024.03.10

[MS-SQL] 고정문자열 표현하기 ('01')

고정문자열 표현하기 앞에 무조건 0을 붙히는 방법이며 CASE 문으로 분기해서 두자지를 분류해주는 방법도 있다. SELECT REPLICATE('0', 1) + CAST(DATEPART(MM, GETDATE()) AS CHAR(2)) SELECT RIGHT('0' + RTRIM(CAST(DATEPART(MM, GETDATE() AS CHAR(5))),5) 결과 1 -> '01' 2 -> '02' 12 -> '012' SELECT CASE WHEN LENGTH(DATEPART(MM, GETDATE())) = 1 THEN REPLICATE('0', 1) + CAST(DATEPART(MM, GETDATE()) AS CHAR(2)) ELSE CAST(DATEPART(MM, GETDATE()) AS CHAR(2)..

DB 2024.03.08

오라클 다중 IN MSSQL에서는 EXISTS로 해보자

오라클을 사용하시는분들이 아래 IN절을 사용하다 MSSQL을 사용하게 되면 불편해 하신다. 아래 문장이 도움이 되기를 바란다. SELECT * FROM TEMPA WHERE (A, B) IN ( SELECT A, B FROM TEMPB WHERE C ='Y') DELETE FROM TEMPA WHERE (A, B) IN ( SELECT A, B FROM TEMPB WHERE C = 'Y' ) 위에 SELECT 문을 DELETE로 바꿔서 아주 잘사용하셨다고 한다. 그런데 MSSQL은 어떻게 하나 물어보신다 답은 EXISTS를 사용하시라고 권해 드린다. SELECT A.* FROM TEMPA A WHERE EXISTS ( SELECT 1 FROM TEMPB B WHERE B.A = A.A AND B.B. =..

DB 2024.03.07
반응형
LIST