본문 바로가기
반응형

IT84

오라클 조건문에 특수문자 & or % or ? 문자로 인식시키기 1. 조건문 문자에 ? & 조회 시 쿼리문 문자조건 안에 & 또는 ?가 들어가 있을 경우 오라클이 실행 되면서 이녀석을 변수로 생각해서. 값을 넣으라는 창이 뜬다. 이경우는 set define off;를 실행 후 실행 하면 된다. 실행하면 원상 복귀 set define on 실행 2. LIKE 절에 %를 조회 하고 싶을때 select * from tbl where a like 'a%' LIKE 절을 써서 a로 시작하는 데이터가 아닌 a% 를 찾고 싶을때는 ESCAPE를 쓰면 된다. with tbl as ( select 'a%b' c from dual union all select 'azb' c from dual ) /*ESCAPE 뒤에 오는 '#'은 구분자 역할을 하며 #뒤에 있는%를 일반 문자로 인식하.. 2021. 2. 3.
오라클 문자에 특정문자가 몇개나 있는지 검색하는 법 INSTR() - INSTR(문자열, 찾을 문자열, 시작 위치, 몇 번째로 발견할것인지 위치) 첫자리 1부터 반환. */ SELECT INSTR('abcdefg', 'c') from dual; -- =>> 3 /*마지막 특정문자 이후의 문자만 가져오기 (당근 select 하기 ) */ /*주의 : 한글은 이방법으로는 안됨. (reverse하면 깨짐)*/ select reverse(substr(reverse(f), 1, instr(reverse(f),',')-1)) from( select 'app,fff,dff' as f from dual ); -- =>> dff 2021. 2. 3.
Mybatis #사용시 속도가 느려지는 현상 1. 오라클에서 직접 실행하면 빠른데 Mybatis에서 느린경우: 너무 느린 쿼리를 로그에서 카피해서 오라클등에 실행해보면 빠르게 나올수 있다. 오라클에서 :변수 (앞에 세미클론) 로 해서 실행하면 마이바티스에서 실행하는 것처럼 PreparedStatement로 작동하기 때문에 이렇게 속도체크를 해봐야한다. #을 사용하게 되는경우는 내부적으로 PreparedStatement로 작동하기 때문에 옵티마이저가 바인드변수로 처리한다. 바인드 변수로 처리하는건 오라클에서 적극 권장하는 방식이지만 특정한 몇가지 경우 옵티마이저가 이상행동을 한다. 예를들어 바인드 변수의 사용시 조건절의 컬럼에 인덱스가 있더라도 varchar2형에 숫자형을 바인드변수로 비교하게되면 인덱스가 있는 컬럼쪽이 to_number()로 형변환.. 2021. 2. 3.
안드로이드 SDK 환경변수 잡기 1. Android SDK 환경변수 설정 탐색기를 열고 -> 내 PC -> 마우스 오른쪽 클릭 -> 속성 고급시스템 설정 클릭 고급 탭 -> 환경변수 버튼 클릭 새로 만들기 클릭 변수이름 : ANDROID_HOME 변수 값 : ANDROID 설치 경로 Path 변수를 선택하고 편집버튼 클릭 두개 Path를 추가해준다. %ANDROID_HOME%\tools %ANDROID_HOME%\platform-tools 2020. 7. 15.
안드로이 스튜디오 주요 옵션 설정 - VM 옵션 설정 vmoptionsstudio64.exe.vmoptions , studio.exe.vmoptions두개파일이보이는데 해당 설치 비트에 따라 해당하는 파일을 열어준다. 안에 있는 내용을 복사위에서 열어준 Custorm VM option 창에 붙여넣고 SVAE - Idea.properties 옵션 설정(저장 경로등에 공통 설정) Idea.properties 파일을 열어 복사 후 미리열어둔 Custom properties 편집창에 붙여준다. - SDK , grade 옵션 설정 위치 - 인코딩 설정. Encoding 설정 총 3군데 모두 UTF-8로 해준다. - 필요한 파일브러리 자동 import기능 - 마우스 휠로 글꼴 크기 제어 https://heavenlake.tistory.com/37안.. 2020. 7. 15.
안드로이드 스튜디오(4.0.1) 다운 및 설치하기 예전에 안드로이드를 이클립스에서도 지원했지만 2015년 12월 구글에서는 이클립스에서 ADT(android development toolkit) 지원을 공식적으로 중단했습니다. 그래서 요즘에는 안드로이드 스튜디오를 사용해서 개발을 많이 합니다. https://developer.android.com/studio/?hl=ko 2020. 7. 15.
mssql ssms 단축키 지정하기 도구 -> 옵션->환경->키보드-> 쿼리 바로가기 위와 같이 특정 키를 지정해 놓고 단축키로 사용가능합니다. 사용법은 쿼리창에서 테이블명 등을 블럭으로 선택하고 위에 설정한 단축키를 누르면 실행됩니다. 2020. 6. 10.
Collation 충돌 에러 해결하기 System.Data.SqlClient.SqlException: equal to 작업에서의 "Korean_Wansung_CI_AS"과(와) "SQL_Latin1_General_CP1_CI_AS" 간의 데이터 정렬 충돌을 해결할 수 없습니다. 간혹 위와 같은 에러를 만날수 있다.보통 다른 DB간에 join인등을 할 때 나 SubQeury로 사용 할 때 발생하곤한다. 원인은 Collation이 서로 다르기 때문에 나타나는 증상이다.각DB에 Collation확인은 DB속성에 일반 -> 데이터 정렬을 보면 해당 DB에 Collation을 알수있다. 해결 방법은 상황1) 단순 조회시 아래와 같이 조건문 옆에 COLLATE를 수동으로 지정해줘서 COLLATE를 맞춰주면 된다. SELECT 1 FROM TABLE A.. 2020. 6. 10.
xPlatform 컬러 팝업 만들기 ? 2020. 6. 10.
xPlatform ShowCase http://www.xplatform.co.kr:8080/Next_JSP/XFShowcase/index.html xPlatrform에 다양한 예제 샘플이 많으니 가끔 둘러보는 걸 추천합니다. 2020. 6. 10.
xPlatfomr 계산 값이 잘못 됐거나, 컴퓨터 마다 계산식이 다를 때 10.95+1.95 를 계산하면 12.9 가 아닌 12.899999999999999 등으로 값이 이상하게 나오는 현상이 발생했다. 또한 컴퓨터마다 다른 결과값이 발생했다. 투비소프트에 문의해보니 아래와 같은 답변이 왔다. ===================================================================== 안녕하세요. 투비소프트 고객지원팀입니다. 문의하신 현상은 부동수숫점 오차로 인하여 발생되는 현상입니다. 소수점계산이 계산기와 다르게 나오는 이유는 부동소수점 오차에 의한 현상입니다. 이는 브라우저의 개발자 도구 console 창에 자바스크립트로 테스트를 하여도 동일한 결과가 나오게 됩니다. - 개요 : 현재 사용되는 거의 모든 CPU에서는 부동소숫점 자료형을 표현.. 2020. 6. 10.
mssql Lock 확인 및 대처 조회 결과가 지나치게 안나올 때 한번쯤은 확인해 봐야할 Lock.... 확인 방법을 알아 보겠습니다. 1. lock확인 명령어 EXEC SP_LOCK => mode 부분이 X표시된 것이 LOCK걸린거라 볼수 있다. 2. lock을 찾았다면 어떦쿼리 인지도 확인 가능하다. 위에서 찾은 lock에 spid를 넣어주면 된다. DBCC INPUTBUFFER(spid) 3. lock 하늘나라로 보내드리기 KILL spid -- 참고 EXEC SP_LOCK 으로 확인하다 보면 너무 많아서 찾기 힘들 때가 있다. 그럴 때는 그냥 LOCK가 위심 되는 쿼리만 뽑을수 있다. SELECT p.status ,p.program_name ,p.hostname ,p.spid ,p.blocked ,p.kpid ,p.cpu ,p.p.. 2020. 6. 5.
mssql 프로시저 내용 검색 해보기 개발하다보면 테이블 수정등으로 영향이 갈수 있는 프로시저와 펑션 찾을 때 유용하게 쓸수 있다. -- 프로시저와 펑션 동시에 찾기 SELECT ROUTINE_TYPE, ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE IN ('FUNCTION','PROCEDURE') AND ROUTINE_DEFINITION LIKE '%PLNT%' ORDER BY ROUTINE_TYPE -- 프로시저 같은 경우 밑에와 같이 찾을수도 있다. SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) FROM sys.procedures WHERE OBJECT_DEFINITION.. 2020. 6. 5.
MsSql 테이블 컬럼 정보 및 컬럼설명(description) 가져오기 테이블에 컬럼정보 및 컬럼설명(description)을 갖어 올수 있다. DECLARE @TABLE_NAME NVARCHAR(50) = 'sysdiagrams'; SELECT D.COLORDER AS COLUMN_IDX -- Column Index , A.NAME AS TABLE_NAME -- Table Name , C.VALUE AS TABLE_DESCRIPTION -- Table Description , D.NAME AS COLUMN_NAME -- Column Name , E.VALUE AS COLUMN_DESCRIPTION -- Column Description , F.DATA_TYPE AS TYPE -- Column Type , F.CHARACTER_OCTET_LENGTH AS LENGTH -- .. 2020. 6. 5.
mssql 쿼리 개발 프로그램 소개 - HeidiSql MsSql 은 SSMS(SQL Server Management Studio)로만 실행 가능한걸로 아시는 분이 많은데요.이번에 소개 시켜 드릴 프로그래은 무료버전으로 SSMS에 단점을 조금은 완화시켜줄만한프로그램입니다. HeidiSQLhttps://www.heidisql.com/download.phpDownload HeidiSQLAds were blocked - no problem. But keep in mind that developing HeidiSQL, user support and hosting takes time and money. You may want to send a donation instead. Download HeidiSQL 11.2, released on 24 Jan 2021 Inst.. 2020. 6. 5.
xPlatform 그리드 Line 동적으로 그리기 그리드에 라인을 동적으로 그려줄수 있다.하지만 쉽지 않고. 쉽지 않다... ㅋㅋ더 정확히 말하면 어렵다기 보다는 저렇게 그리려면 생각보다 짜증남. 그리드 라인속성을 expr이나 fn으로 받으면 되는데중요한건 밑에 구문"1 solid black,1 solid black,1 solid black,1 solid black";"라인굵기 라인type 라인color"순서는"Top속성 ,Right속성, Bottom속성, Left속성"순으로 지정하면 된다. 2020. 6. 5.
xPlatform 동적으로 Div 생성(복사), 이벤트 등록, BindItem 생성 개발하다보면 경우에 따라 한 화면에 비슷한 포맷이 반복 돼서 보여줘야 할 때가 있다. Div영역에 에디터박스, 버튼, 달력 있고 Create버튼을 누를때만다 동적으로 Div를 복사하는 기능이다. 참고로 위와 같이 복사하다보면 별도의 데이터셋 또는 이벤트 들이 필요할수 있다.특히 이벤트에 경우 복사가 안되는 경우가있다??? 2020. 6. 1.
xPlatform 동적 그리드 생성하기 위에 보이는 첫번째 버튼은 Xml 형태로 그리드를 생성하는 법이고 두번째 버튼은 그리드에 속성 함수들을 이용해 생성하는 법이다. - 주요 함수setFormatColProperty : 그리드에 현재 설정된 Format Columns의 각 열의 속성값을 설정하는 메소드입니다 ex. setFormatColProperty(i,"size",nColSize);setCellProperty : 해당 영역에서 지정한 셀의 속성에 값을 설정하는 메소드입니다. ex. setCellProperty("body", i, "displaytype", "normal");mergeContentsCell : 그리드의 현재 Format 콘텐츠에 주어진 셀들을 합쳐서 하나의 셀로 만드는 메소드입니다.appendContentsCol : 그리드.. 2020. 6. 1.
xPlatform 콤보 대소문자 구별 없이 필터하기 nexacro에서는 지원을 하는걸로 알고있지만??? xPlatform 에서는 필터시 대소문자 구분을 한다.그래서 별도의 로직이 필요하다.대문자 데이터를 데이터 셋에 임시로 만들어준 후 필터를 임시로 만든 컬럼과 걸어주면 된다. function Button00_onclick(obj:Button, e:ClickEventInfo) { var _row = Dataset00.rowcount; var _str; for(var i=0;i 2020. 6. 1.
xPlatform 그리드 가로 병합 세로 데이터가 suppress되는 건 많이 알고 있지만 가로도 되는건 모르는 사람들이 많다. 위와 같이 근접한 가로데이터에 값이 같은 경우 merge 된 듯하게 보여줄수 있다. 1. suppresshorzcell를 true로 하면 된다.2. suppresslevel 속성은 복수개의 suppress를 제어 할수 있게 해준다.3. band type은 반드시 Left 또는 Right로 세팅해야한다. 마치 병합 된 듯 보이지만 실제로는 병합된게 아니다.또한 band를 Left 또는 Right로 세팅해야 해서 사용자가 임의로 컬럼 사이즈를조정할 수 없다. 2020. 6. 1.
xPlatform 그리드 복사/붙여넣기 그리드에서 onkeydown이벤트를 통해 밑에 fn_grdCopyPasteData() 함수를 호출하면 된다. 1. 그리드 selecttype이 area, multiarea를 권장한다.2. 그리드 해당 셀 edittype이 none이거나 검색 불가하면 복붙하지 않는다.3. 그리드 해당 셀 edittype이 checkbox이면 복붙값이 있으면 무조건 1로 판단한다.4. 그리드 해당 셀이 number타입이고 숫자면 ,를 제거후 복붙한다.5. 그리드 해당 셀이 combo이면 해당 combo에 데이타셋에 값이 존재해야만 복붙한다. var v_tmpStrClipboard=""; /**--------------------------------------------------------------------- * 기능.. 2020. 5. 26.
반응형