반응형
SMALL

2024/02 39

[MSSQL] RNAK() 함수 SEQ를 주거나 순위를 매길때

순위를 매기고 싶을때 사용 동일한 순위를 매긴후 담음순위를 동일순위만큼 건너뛰고 줄때 RANK() OVER(ORDER BY 점수)) WITH CTE AS ( SELECT 100 AS A UNION SELECT 90 AS A UNION SELECT 90 AS A UNION SELECT 90 AS A UNION SELECT 90 AS A UNION SELECT 70 AS A UNION ) SELECT RANK() OVER(ORDER BY A) FROM CTE 1 100 2 90 2 90 2 90 5 80 6 70 동일한 순위를 매긴후 다음순위를 연속적으로 줄때 DENSE_RANK() OVER(ORDER BY 점수)) WITH CTE AS ( SELECT 100 AS A UNION SELECT 90 AS A ..

DB 2024.02.26

CANIAS[TROIA] 컨트롤 필수값 정의방법

Thme Variables --> BC:MUSTFIELD; 그럼 필수값으로 색상변경 그냥 테마 적용한다고 생각하면 된다. 실제로는 조회 조건에 필수값 체크하는 조건과 메세지를 입력해야 한다. 조회 버튼 이벤트에 코딩한 내용 EX1) 필수조건 컨트롤 제어용 IF [컨트롤명] == '' THEN ATTENTION TO [컨트롤명] MESSAGE DEV E2013 WITH; RETURN; ENDIF; EX2) 필수조건 팝업용 IF [컨트롤명] == '' THEN MESSAGE SYS W0 WITH '테스트를 입력하십시오'; RETURN; ENDIF; ......... THIS.LISTING(SC(A1), SC(A2)); .........

CANIAS[TROIA] 기본적인 메세지 처리방법

IF [컨트롤명] == '' THEN MESSAGE [모듈명] [C,O,E,W,I,P][모듈SEQ] WITH; RETURN; ENDIF; 메세지 타입 C ------ (Confirmation) O ------ (Options) E ------ (Error) W ----- (Warning) I ------- (Information) P ------ (Parameter) DB --> TEST | 50000 | [% : %]를 제대로 입력하지 않아 발생 DB에 정의된 메세지를 그대로 사용하고자 하는경우 MESSAGE TEST I50000 WITH; 결과 -> [% : %]를 제대로 입력하지 않아 발생 DB에 변수를 정의한 결과를 가져오는 경우 MESSAGE TEST I50000 WITHA1 A2; 결과 -> ..

UNPIVOT 숫자 형 변환 오류

UNPIVOT 목록에 지정된 다른 열의 유형과 충돌합니다. 라는 문제가 발생함 이유는 UNPIVOT 대상 컬럼 모두 동일한 데이터 타입을 가져야 하는 문제 E컬럼과 + F컬럼을 더해서 G컬럼으로 만들다 보니 발생된 문제로 UNPIVOT대상은 모두 CAST하여 형변환해줘야 함 EX========================================================================== WITH XTEMP AS ( SELECT A,B,C,D , CAST(E AS DECIMAL) MATCOST , CAST(F AS INT) LABCOST , CAST(ISNULL(A,0) + ISNULL(B,0) AS INT) AS G FROM A ) SELECT A,B,C,D,AAA, VALUE F..

DB 2024.02.25

MSSQL 과 ORACLE 함수 비교

MSSQL과 Oracle 함수 비교 SQL 2014.10.22 23:47 Posted by 목간쥐 고무고무 인간 블로그에서 퍼온글 1. 문자 식에서 가장 왼쪽 문자의 ASCII 코드 값 반환 (숫자로 표시됨) 구분 MSSQL Oracle 함수 ASCII ASCII 용례 SELECT ASCII('A') SELECT ASCII('A') FROM DUAL 결과 65 65 è MSSQL이든 ORacle이든 ‘’ 안에 여러 개의 문자가 있어도 가장 좌측 값만 반환합니다.즉, SELECT ASCII(‘A’) 나 SELECT ASCII(‘ABCDEFG’) 나 결과는 같습니다. 2. 문자 합치기 구분 MSSQL Oracle 함수 + CONCAT 또는 || 용례 SELECT '동해물과' + '백두산이' 1. SELECT..

DB 2024.02.25

프로시져 cursor 상태 확인

MSSQL에서 Cursor 여러개 돌릴때 오류 발생시에 cursor 상태를 보고 작동중인 Cursor를 닫아줘야 한다. 선언되지 않은 Cursor를 닫으면 오류가 발생하니 Try ~~ catch문을 사용하여 catch에서 아래 명령어를 선언해준다. 커서명은 본인이 명명한 이름 EX ================================================================ BEGIN TRY ...................... END TRY BEGIN CATCH DECLARE @CursorStatus INT; SET @CursorStatus = CURSOR_STATUS('local', '커서명1'); IF (@CursorStatus >= 0) BEGIN CLOSE 커서명; DE..

DB 2024.02.24

조건절 IN 에 파라메타값 만들기 '1,2,3,4'

문자열 파라메타로 in에 값 넣기 아아 귀찮다 했는데 이런 방법이 아래 Function 을 만들어준다. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[CSVToTable] (@InStr VARCHAR(MAX)) RETURNS @TempTab TABLE (id int not null) AS BEGIN ;-- Ensure input ends with comma SET @InStr = REPLACE(@InStr + ',', ',,', ',') DECLARE @SP INT DECLARE @VALUE VARCHAR(1000) WHILE PATINDEX('%,%', @INSTR ) 0 BEGIN SELECT @SP = PATINDEX..

DB 2024.02.24
반응형
LIST