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_SUBSTR( STR, '[()][(A-Za-z가-힣)]+[()]')       
        FROM REG_TEST
        
select REGEXP_SUBSTR(STR, '[^ ]+', 1, LEVEL), COUNT(REGEXP_SUBSTR(STR, '[^ ]+', 1, LEVEL)) A from REG_TEST
CONNECT BY LEVEL <= regexp_count(STR, '[^ ]+')
GROUP BY REGEXP_SUBSTR(STR, '[^ ]+', 1, LEVEL)
ORDER BY COUNT(REGEXP_SUBSTR(STR, '[^ ]+', 1, LEVEL)) DESC

STR은 문장 전체 컬럼

소문자할려면 LOWER씌워주면 된다. 

 

블로그 이미지

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

댓글을 달아 주세요

 

1. 단순하게 보내기 

 

		var formsubmit = $("#form").serialize();
		
        $.ajax({
		    url: "/googlechartAjax",
		    type: "post",
		    dataType: "json",
		    data: formsubmit,
		    success: function(json){
		    	var texts = json[0].text1
		    	 $('#innerstart').text("");
		   	},
		    error: function (request, status, error){    
		    	console.log(status);
		    	$('#innerstart').text("");
		    }

		  });

주의할 점은 
contentType: "application/json; charset=utf-8", 

을 써주면 안된다. 쓰면 에러난다. 

@ResponseBody
	@RequestMapping(value = "/googlechartAjax", method = RequestMethod.POST, produces = "application/text; charset=utf8")
	public String googlechartAjax(
			GoogleVo vo) throws Exception {
            JSONObject json = new JSONObject();
            return json.toString;
            }

 

2. RequestBody를 쓰고싶다면

 

function objectifyForm(formArray) {//serializeArray data function
		var returnArray = {};
		for (var i = 0; i < formArray.length; i++) {
			returnArray[formArray[i]['name']] = formArray[i]['value'];
		}
		return returnArray;
	}

위의 기능을 미리 써야한다. 

		var formsubmitSerialArray = $("#form").serializeArray();
		var formsubmit = JSON.stringify(objectifyForm(formsubmitSerialArray));

$.ajax({
					url : "/주소",
					type : "POST",
					accept : "application/json",
					contentType : "application/json; charset=utf-8",
					dataType : "json",
					data : formsubmit,
					success : function(json) {
						console.log(json);

					},
					error : function(request, status, error) {
						console.log(status);
						
					}

				});

var formsubmitSerialArray = $("#form").serializeArray();
var formsubmit = JSON.stringify(objectifyForm(formsubmitSerialArray));

이 두줄이 핵심인데 serializeArray로 array화 된 form을 objectifyForm이 json으로 변환한다.

이를stringify로 string화 시켜서 보낸다. 

 

 

@ResponseBody
	@RequestMapping(value = "/googlechartAjax", method = RequestMethod.POST, produces = "application/json; charset=utf8")
	public String googlechartAjax(
			@RequestBody GoogleVo vo
			) throws Exception {
            	JSONObject json = new JSONObject();
	
			return json.toString();
	}

이렇게 하면 RequstBody를 사용할 수 있다. 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

오라클에서 랜덤값(소수값, 1.9까지 안에서 ) : select (dbms_random.value(1,9) from dual

 

정수 랜덤값 (1,9까지) : select trunc(dbms_random.value(1,9) from dual

 

 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요