반응형
반응형
반응형
제주 장날 목록, 오일장



반응형
반응형

[MYSQL] update ...select 구문. 삽질하다가 OK

#mysql #database #update #select

아래처럼 해야함.

update wp_moa_bible_mcheyne m

  join wp_moa_bible_sort s on s.name_short = m.sort_name

   set m.ever_seq_no = s.ever_seq_no

;

아래처럼 계속 하면 삽질만 한다. 

update wp_moa_bible_mcheyne a

set ever_seq_no = (

    select ever_seq_no

      from wp_moa_bible_sort b

    where a.sort_name = b.name_short

);



update wp_moa_bible_mcheyne m,

        wp_moa_bible_sort s

    set m.ever_seq_no = s.ever_seq_no

  where m.sort_name = s.sort_name

;
반응형
반응형
제주, 일상, 흔한 출근길

반응형
반응형
반응형
반응형

"편안하게 지낼 적에 위태로움을 생각하라고 했습니다.
생각하면 대비가 있게 되고, 대비가 있으면 근심이 없습니다. 
(居安思危, 思則有備, 有備無患)"
- 좌씨전 

주희가 송 효종에게 올린 봉사(封事)에서 말했습니다.
“천하의 일은 어렵거나 일이 많은 것을 근심할 것이 아니라
편안한 것이 짐독(酖毒)이 됨을 두려워해야 합니다.
설령 정치가 잘 행해져서 해야 할 일이 한 가지도 없다 하더라도
아침저녁으로 두려워하고 거안사위하면서 조금이라도 게을러서는 안 됩니다.”

반응형
반응형

인생에도 수업료가 있다. 
귀한 것을 얻기 위해서는
반드시 대가를 치러야 하고 
기약이 없는 인내를 해야 할 때도 있다. 
대가를 크게 치를수록, 오래 기다리고 
오래 배울수록, 인생은 깊고 넓어진다. 

- 이애경의《나를 어디에 두고 온 걸까》중에서 - 


* 세상에 쉬운 일이 없습니다.
마냥 거저 얻어지는 것도 없습니다.
응당한 수업료를 내고 기술도 배우고 
유학도 가고 박사 과정도 열심히 밟습니다.
좋은 기술, 큰 공부일수록 수업료도 많습니다.
어렵고 힘든 고난이 닥치거든, 수업료 없이
큰 공부 하고 있다고 생각하십시오.
자기 인생의 빛나는 투자가 
될 수 있습니다. 

반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

발걸음이 가벼워졌다  (0) 2019.08.07
어떻게 진실이 그래!  (0) 2019.08.07
희망이란  (0) 2019.08.01
나무에게 배운다  (0) 2019.07.31
서른 살부터 마흔 살까지  (0) 2019.07.30
반응형

Mysql 자음 초성 추출 함수, 자음으로 검색, 초성 검색

함수를 만들어서 추출해보자. 

CREATE DEFINER=`gn`@`%` FUNCTION `fn_choSearch`(`str` varchar(20)) RETURNS varchar(20) CHARSET utf8 
 
BEGIN 
     declare returnStr varchar(100); 
     declare cnt int; 
     declare i int; 
     declare j int; 
     declare tmpStr varchar(10); 
 
     if str is null then 
         return ''; 
     end if; 
 
     set cnt = length(str)/3; 
     set i = 1; 
     set j = 1; 
 
     while i <=cnt DO 
           set tmpStr = substring(str,i,j); 
           set returnStr = concat(ifnull(returnStr,''), 
 
            case when tmpStr rlike '^(ㄱ|ㄲ)' OR ( tmpStr >= '가' AND tmpStr < '나' ) then 'ㄱ' 
                 when tmpStr rlike '^ㄴ' OR ( tmpStr >= '나' AND tmpStr < '다' ) then 'ㄴ' 
                 when tmpStr rlike '^(ㄷ|ㄸ)' OR ( tmpStr >= '다' AND tmpStr < '라' ) then 'ㄷ' 
                 when tmpStr rlike '^ㄹ' OR ( tmpStr >= '라' AND tmpStr < '마' ) then 'ㄹ' 
                 when tmpStr rlike '^ㅁ' OR ( tmpStr >= '마' AND tmpStr < '바' ) then 'ㅁ' 
                 when tmpStr rlike '^ㅂ' OR ( tmpStr >= '바' AND tmpStr < '사' ) then 'ㅂ' 
                 when tmpStr rlike '^(ㅅ|ㅆ)' OR ( tmpStr >= '사' AND tmpStr < '아' ) then 'ㅅ' 
                 when tmpStr rlike '^ㅇ' OR ( tmpStr >= '아' AND tmpStr < '자' ) then 'ㅇ' 
                 when tmpStr rlike '^(ㅈ|ㅉ)' OR ( tmpStr >= '자' AND tmpStr < '차' ) then 'ㅈ' 
                 when tmpStr rlike '^ㅊ' OR ( tmpStr >= '차' AND tmpStr < '카' ) then 'ㅊ' 
                 when tmpStr rlike '^ㅋ' OR ( tmpStr >= '카' AND tmpStr < '타' ) then 'ㅋ' 
                 when tmpStr rlike '^ㅌ' OR ( tmpStr >= '타' AND tmpStr < '파' ) then 'ㅌ' 
                 when tmpStr rlike '^ㅍ' OR ( tmpStr >= '파' AND tmpStr < '하' ) then 'ㅍ' 
            else 'ㅎ' end); 
           set i=i+1; 
     end while; 
  RETURN returnStr; 
END;

 

자바스크립트로 검색어가 초성인지 아닌지 체크

var keyword = $("#keyword").val().toUpperCase(); 
var choKeyword = choHangul($("#keyword").val()); 
 
//초성검색 구분 
 
if (keyword!="" && choKeyword==""){ 
    choDiv = 'Y'; 
}else{ 
    choDiv = 'N'; 
} 

/* 초성추출 */ 
function choHangul(str) { 
  cho = ["ㄱ","ㄲ","ㄴ","ㄷ","ㄸ","ㄹ","ㅁ","ㅂ","ㅃ","ㅅ","ㅆ","ㅇ","ㅈ","ㅉ","ㅊ","ㅋ","ㅌ","ㅍ","ㅎ"]; 
  result = ""; 
  for(i=0;i<str.length;i++) { 
      code = str.charCodeAt(i)-44032; 
    if(code>-1 && code<11172) result += cho[Math.floor(code/588)]; 
  } 
  return result; 
} 

 

 

쿼리에서 초성 추출하자.

WHERE 1=1 
<isEqual prepend='AND' property="choDiv" compareValue="N" > 
    S1.STOP_NAME LIKE concat('%',#keyword#,'%') OR S1.STOP_ID LIKE concat('%',#keyword#,'%') 
</isEqual> 
<isEqual prepend='AND' property="choDiv" compareValue="Y" > 
    fn_choSearch(S1.stop_name) LIKE concat('%',#keyword#,'%') OR S1.STOP_ID LIKE concat('%',#keyword#,'%') 
</isEqual> 

 

choDiv 값이 N 일 경우 일반검색
choDiv 값이 Y 일 경우 위의 oracle함수를 사용하여 초성검색


예를 들어
이렇게 구현을 하면 'ㄱㄴㄷ' 으로 검색을 하면
가나다
간난단
갇낟닫
...
등 초성이 ㄱ,ㄴ,ㄷ 인 데이터가 검색된다.

출처 : https://aljjabaegi.tistory.com/220

 

Mysql 자음 초성 추출 함수, 자음으로 검색, 초성 검색

Mysql 자음 초성 추출 함수, 자음으로 검색, 초성 검색 개발을 하다보면 자음으로만 검색할 수 있게 해달라는 요청이 들어오곤 한다. 그럴때마다 유용하게 사용하는 것이 아래의 함수이다. 그냥 복사 붙여넣고 실..

aljjabaegi.tistory.com

 

반응형

+ Recent posts