프로젝트 마무리때 주로 쓰게된다.

 

SELECT 
	A.Table_Name,
	C.Value Table_Description, 
	A.Column_Name, 
	A.Data_Type, 
	isNULL(
		CAST(A.Character_Maximum_Length as VARCHAR), CAST(A.Numeric_Precision as VARCHAR) + ',' + CAST(A.Numeric_Scale as VARCHAR)
	) Column_Length, 
	A.Column_Default, 
	CASE WHEN A.Is_Nullable = 'YES' THEN 'Y' ELSE 'N' END Is_Nullable, 
	B.value Colum_Description 
FROM INFORMATION_SCHEMA.ColumnS A 
	LEFT JOIN SYS.EXTENDED_PROPERTIES B 
		ON B.Major_Id = OBJECT_ID(A.Table_Name) 
		AND B.Minor_Id = A.Ordinal_Position 
	LEFT JOIN ( SELECT OBJECT_ID(Objname) Table_Id,Value FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'user','dbo','Table',NULL, NULL, NULL) ) c 
		ON C.Table_id = OBJECT_ID(A.Table_Name)
WHERE A.Table_Name = '테이블명' 
ORDER BY A.Table_Name, A.Ordinal_Position

 

출처 : rocabilly.tistory.com/60

'프로그래밍 > DB' 카테고리의 다른 글

mssql 쿼리명세서 생성  (0) 2020.11.16
mssql에서 duplucate on 변환방법  (0) 2020.09.23
mysql 버전확인 (쿼리 )  (0) 2020.07.16
오라클 글자 파싱  (0) 2019.09.17
주민등록번호 오라클 검사 처리  (0) 2019.09.10
오라클에서 숫자만 추출/ 문자만 추출  (0) 2019.09.10
블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

@Trasaction(rollbackFor = {Exception.class}

을 써주면 된다.

 

catch

 

자세한 설명은 : bbchu.tistory.com/85 참조

 

참고로 Exception을 여러개 지정할수도 있다

@Transactional(rollbackFor = {Exception.class, BadSqlGrammarException.class})

Exception의 하위 항목에 대해서는 아래의 사진 참조

 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

 

ObjectMapper의 readValue 이용 시 모르는 value 무시하는 방법

@JsonIgnoreProperties(ignoreUnknown = true)
public class NAME implements Serializable {

    private long value1;
    private long value2;
    private long value3;

VO 쪽에 @JsonIgnoreProperties(ignoreUnknown = true) 를 써준다.

 

 

대소문자 구분 안하게 하기

 

ObjectMapper는 대소문자를 구분해서 아래의 에러가 났다. 

 

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:Unrecognized field "변수명"  not marked as ignorable 

 

이래놓고 변수명 상태가 로그로 나오는데...

 

new ObjectMapper().configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);

아래와 같이 사용하면 된다.

MapperFeature는 com.fasterxml.jackson.databind.MapperFeature; 를 사용한다. 임의로 만든게 아니다.

 

사용예

 

new ObjectMapper().configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIEStrue).readValue(value, VO.class)

 

 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요


IF EXISTS (

 /* 검색부분 */ 
SELECT 1
FROM T_WORK_PLAN_INFO 
WHERE PLANSEQ={PLANSEQ}
)

BEGIN  /* DELETE 나 update 시작점 (duplicate on 다음에 오는 쿼리 )*/


END
ELSE 
BEGIN /* INSERT 시작점 */
    

END


'프로그래밍 > DB' 카테고리의 다른 글

mssql 쿼리명세서 생성  (0) 2020.11.16
mssql에서 duplucate on 변환방법  (0) 2020.09.23
mysql 버전확인 (쿼리 )  (0) 2020.07.16
오라클 글자 파싱  (0) 2019.09.17
주민등록번호 오라클 검사 처리  (0) 2019.09.10
오라클에서 숫자만 추출/ 문자만 추출  (0) 2019.09.10
블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

select version();

 

'프로그래밍 > DB' 카테고리의 다른 글

mssql 쿼리명세서 생성  (0) 2020.11.16
mssql에서 duplucate on 변환방법  (0) 2020.09.23
mysql 버전확인 (쿼리 )  (0) 2020.07.16
오라클 글자 파싱  (0) 2019.09.17
주민등록번호 오라클 검사 처리  (0) 2019.09.10
오라클에서 숫자만 추출/ 문자만 추출  (0) 2019.09.10
블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

SELECT  regexp_substr(:ARG, '[^,]+',1, LEVEL) TXT -- ,가 아닌 String을 표시한다. LEVEL로 순서를 올린다.
FROM DUAL
CONNECT BY LEVEL <= length(regexp_replace(:ARG, '[^,]+',''))+1 
--글자에서 ,가 아닌 글자를 없에준다. ,의 갯수를 세어주고 1개를 더한다

 

'프로그래밍 > DB' 카테고리의 다른 글

mssql에서 duplucate on 변환방법  (0) 2020.09.23
mysql 버전확인 (쿼리 )  (0) 2020.07.16
오라클 글자 파싱  (0) 2019.09.17
주민등록번호 오라클 검사 처리  (0) 2019.09.10
오라클에서 숫자만 추출/ 문자만 추출  (0) 2019.09.10
오라클 다양한 함수  (0) 2019.09.09
블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

SELECT  DECODE(
        REGEXP_COUNT( 
        :ARG
        , '^[0-9]{2}(?0[1-9]|1[0-2])(?0[1-9]|[1,2][0-9]|3[0-1])[1-4][0-9]{4}[1-9]['||LASTDATA||']$'
        ) 
        
        , '1'
        , 'TRUE'
        , '0'
        , 'FALSE'
        ) JUMIN
        FROM ( 
SELECT 
        11 - MOD(
        MIN (DECODE(LEVELK , '1', NUM * 2)) 
       + MIN (DECODE(LEVELK , '2', NUM * 3)) 
       + MIN (DECODE(LEVELK , '3', NUM * 4)) 
       + MIN (DECODE(LEVELK , '4', NUM * 5)) 
       + MIN (DECODE(LEVELK , '5', NUM * 6)) 
       + MIN (DECODE(LEVELK , '6', NUM * 7)) 
       + MIN (DECODE(LEVELK , '7', NUM * 8)) 
       + MIN (DECODE(LEVELK , '8', NUM * 9)) 
       + MIN (DECODE(LEVELK , '9', NUM * 2)) 
       + MIN (DECODE(LEVELK , '10', NUM * 3)) 
       + MIN (DECODE(LEVELK , '11', NUM * 4)) 
       + MIN (DECODE(LEVELK , '12', NUM * 5))  
       , 11 ) LASTDATA
FROM
( SELECT SUBSTR(:ARG, LEVEL , 1) NUM
        , LEVEL LEVELK
        , 'ORION' GRP
        FROM DUAL
       CONNECT BY LEVEL <= LENGTH(:ARG)
)
GROUP BY GRP
)

 

 

주민등록번호 오라클 처리 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

문자만추출

 SELECT REGEXP_REPLACE(c, '[0-9]') 

 

숫자만추출

SELECT REGEXP_REPLACE(c, '[^0-9]')

 

TRANSLATE 방식

 

SELECT TRANSLATE ( '안1녕2하3세4요5 6H7 입8니9다' , '0123456789',' ' )  
        FROM DUAL

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

 

SELECT ABS(0)
        , FLOOR(3.9) --버림
        , CEIL(3.2) --올림
        , POWER(2,3) -- 제곱
        , SIGN(-9)
        , SIGN(4)
        , SIGN(0) -- 부호판정, -1 1 0
        , SQRT(7) -- 제곱근
        , TRUNC(1.64) -- 지정한 소수점 이하를 절삭
        , TRUNC(1.64, 1)
        , TRUNC(141.64, -2) --마이너스의 경우 정수의 자리수, 4를 절삭됨
        , TRUNC(SYSDATE, 'D')
        , TRUNC(SYSDATE, 'DD') 
        , TO_CHAR(SYSDATE, 'YYYYMMDD HH:SS' )
        , TO_CHAR(TRUNC(SYSDATE, 'DD'), 'YYYYMMDD HH:SS' )
        , TRUNC(SYSDATE, 'MM') --일까지 절삭
        , TRUNC(SYSDATE, 'YYYY') --월까지 절삭
        , TRUNC(TRUNC(SYSDATE, 'YYYY'), 'D')
        
        FROM DUAL

 

       
SELECT ADD_MONTHS(SYSDATE, 2)
       , LAST_DAY(SYSDATE)
       , MONTHS_BETWEEN(SYSDATE, TO_DATE('20190201',  'YYYYMMDD'))
       , FLOOR (MONTHS_BETWEEN(SYSDATE, TO_DATE('20190201',  'YYYYMMDD')))+1 --두달의 차
       , NEXT_DAY(SYSDATE, 2) -- 다음주 월요일 
       , EXTRACT(HOUR FROM SYSTIMESTAMP) +9 --GMT +9 : KST
       , TO_CHAR(SYSDATE + (INTERVAL '2' HOUR),'YYYYMMDD HH:SS')
       , TO_CHAR(SYSDATE, 'YYYYMMDD HH24:SS') 현재시각 -- 현재시각
       ,  TO_CHAR(SYSDATE + 1,'YYYYMMDD HH24:SS')
       ,  TO_CHAR(SYSDATE + 2/24 ,'YYYYMMDD HH24:SS') -- HH24:SS로 안보면 이상하다 
       ,  TO_CHAR(SYSDATE + 3/24 ,'YYYYMMDD HH24:SS')
        FROM DUAL
블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

		<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.4</version>
			<classifier>jdk15</classifier>
		</dependency>

일단 이걸 pom에 넣고 

 

JSONArray jsonArray = JSONArray.fromObject(list);
jsonArray.toString();

 

이렇게 하면 된다. 

 

스프링에서 아마 사용할법한 상태,.

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요