반응형
SMALL

전체 글 77

소수점 자리수 및 표현법

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

[JAVA] 중복제거 및 중복 건수 확인

// 1. 정보를 담아준다. List dataMapList = (List) param.get("data"); // 2. 스트링 List에 data를 담아준다. List dataList = new ArrayList(); // 3. 제거하고자 하는 data를 List에 넣어준다. for(Map row : dataMapList ) { dataList .add((String)row.get("code"); } // 4 List에 담긴 내용을 중복 제거 List newList = dataList.stream().distinct().collect(Collectors.toList()); 위에 코드로 중복 제거하기도 하고 아래처럼 count를 사용하여 몇건이 중복 되었는지 확인도 가능하다. // 1. 정보를 담아준다. ..

JAVA(Eclipse)에서 DAVINCI 호출

Eclipse 에서 Davinci 호출할때 사용 다빈치내 소스는 세로 라인을 잘 사용해야 한다. 세로라인이 if나 for 조건절의 괄호라고 보면된다. 세로라인이 맞지 않아 로직이 돌아가지 않거나 해당 dept에서 처리해야 하는 내용이 수행이 안되는 경우가 허다하다 탭을 통해서 세로라인을 정확하게 해줘야 한다. ========= JAVA 소스 ================ public List getData(Map param) throws Exception { // python에 변수를 넘겨주기위해 담아준다. File file = ResourceUtils.getFile("classpath:python/test.py"); // python 파일 경로지정 List command = new ArrayList(A..

카테고리 없음 2024.04.04

[MSSQL] DB 정보 및 TABLE (용량, 건수) 확인

DB 정보 sp_helpdb 'Database명' -- TABLE 용량 정보 SELECT CONVERT(VARCHAR(30), MIN(B.name)) AS TABLE_NAME , LTRIM(STR(SUM(reserved) * 8192.0 / 1024.0, 15, 0) + ' KB') AS TABLE_SIZE FROM sysindexes A INNER JOIN sysobjects B ON B.id = A.id WHERE A.indid IN (0, 1, 255) AND B.xtype = 'U' GROUP BY A.id ORDER BY SUM(reserved) * 8192.0 / 1024.0 DESC -- TABLE 건수 정보 SELECT B.name AS TABLE_NAME, A.rows AS TABLE_R..

카테고리 없음 2024.04.04

엑셀 VLOOKUP 사용법 초급자도 알기 쉽게

VLOOKUP을 설명하려는 이유는 아시는분이 왼쪽과 오른쪽에 이름 목록리스트를 존재하는 사람과 없는 사람을 검색으로 열심히 찾고 계시는걸 봤다 너무 어렵게 찾으신다고 인터넷에 VLOOKUP을 찾아서 사용해보시라고 권했지만 찾아봐도 설명만으로 이해를 못하셔서 나름 찾아봤는데 본인도 잘이해를 못하도록 설명이 되어 있어서 좀더 간단하게 알기 쉽도록 설명하고자 한다. 위에 시트는 얼핏보기에는 SUM을 하여 총지출을 보는것 같지만 아니다. VLOOUP을 이용하여 시트2번에 존재하는 사람만 시트1에서 찾아서 총지출을 뽑고자하였다. 당연히 없는 사람은 -로 표시하였다. 그럼 수식을 보겠다. 주황색으로 표시한 부분이 수식이 들어간다. 예시 : VLOOKUP(H6,$C$6:$F$11,2,0) VLOOKUP( ① , ② ..

[MS-SQL] 동적 쿼리 vs 정적쿼리

동적 쿼리와 정적 쿼리에 대해서 알아보자 동적 쿼리 : 특정한 조건이나 상황에 따라 변경되는 쿼리 - 조건에 따라 쿼리를 사용자가 마음대로 만들수 있지만 테스트가 어렵다는 단점이 있다 DECLARE @SQL VARCHAR(MAX) = '' DECLARE @CNT INT = 0 SET @SQL =+ 'SELECT * FROM TEMP1 WHERE A1 = ''AAAAA''' IF( @INT = 1) BEGIN SET @SQL =+ 'UNION SELECT * FROM TEMP1 WHERE A1 = ''BBBB''' END PRINT @SQL EXEC SP_EXCUTESQL @SQL 정적쿼리 : 어떤한 조건이나 상황에서도 변경되지 않는 쿼리 - 일반적으로 사용하는 쿼리문이다 SELECT * FROM TEMP..

카테고리 없음 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

[CANIS] 해당월과 다음월의 첫날 구하기

트로이아에서 날짜 한달간격을 조회하기 위해서 만들어 보았다. 트로이아에서는 날짜포맷이 외국기준이라 일.월.년 시:분:초로 넣어줘야만 가능하다. GLOBAL: DATE FDATE, DATE TDATE; /* 1. 해당월의 첫날과 다음달의 첫날 구하기 */ PFDATE = '01.' + PMONTH + '.' + PYEAR + ' 00:00:00'; PTDATE = ADDMONTHS(PFDATE, 1); 결과 '01.01.2021 00:00:00' '01.02.2021 00:00:00'

반응형
LIST