sql "지정 필드" 에서 "지정 문자" 를 찾 고 조건 판단 함수 가 지정 한 조건 으로 채 워 집 니 다.

3816 단어 데이터 뱅 크
SubStr(abcdrfg/sdas/ghg,3,CASE WHEN INSTR(abcdrfg/sdas/ghg,’/’,3,1) = 0 THEN 10 ELSE (instr(abcdrfg/sdas/ghg,’/’,3,1)-1) END)
이번 내장 함 수 는 "abcdrfg / sdas / ghg" 필드 에서 "지정 문자" 앞 이나 뒤의 문 자 를 추출 하고 조건 을 통 해 이 문자 가 포함 되 어 있 는 지 여 부 를 판단 하여 우리 가 필요 로 하 는 값 을 되 돌려 줍 니 다.
공식 해석: SubStr (cExpression, nStartPosition, [nCharactersReturned]) ● cExpression 은 문자열 을 되 돌려 줄 문자 표현 식 이나 비고 필드 를 지정 합 니 다.● nStartPosition 은 되 돌아 오 는 문자열 이 문자 표현 식 이나 비고 필드 에 있 는 위 치 를 지정 하 는 데 사 용 됩 니 다. ● nCharactersReturned 는 되 돌아 오 는 문자 수 를 지정 하 는 데 사 용 됩 니 다. 부족 할 때 문자 표현 식 의 값 이 끝나 기 전의 모든 문 자 를 되 돌려 줍 니 다.예: SELECT SubStr (syranmo, 3, 2) FROM dual; –라 를 되 돌려 주 는 것 은 "syranmo" 필드 의 세 번 째 문자 부터 2 문 자 를 추출 하 는 것 을 의미 합 니 다.
주: 그 중 "syranmo" 필드 는 sql 표 "열 이름" 일 수 있 습 니 다.
instr (string 1, string 2, start position, nth appearance) ● string 1: 원본 문자열, 이 문자열 에서 찾 아야 합 니 다.● string 2: string 1 에서 찾 을 문자열.● start_position: string 1 을 대표 하 는 위치 에서 찾기 시작 합 니 다.이 매개 변 수 는 기본 값 이 1 인 것 을 생략 하면 선택 할 수 있 습 니 다. 문자열 색인 은 1 부터 시작 합 니 다.이 매개 변수 가 플러스 라면 왼쪽 에서 오른쪽으로 검색 을 시작 합 니 다. 이 매개 변수 가 마이너스 라면 오른쪽 에서 왼쪽으로 검색 하고 찾 을 문자열 이 원본 문자열 에서 시작 하 는 색인 을 되 돌려 줍 니 다.● nth_appearance: 몇 번 째 로 나타 난 string 2 를 찾 는 것 을 의미 합 니 다. 이 매개 변 수 는 선택 할 수 있 습 니 다. 생략 하면 기본 값 은 1 입 니 다. 음수 시스템 이 잘못 보 고 됩 니 다.위치 색인 번 호 는 1 부터 시작 합 니 다. String 2 가 String 1 에서 찾 지 못 하면 인 스 터 함 수 는 "0" 으로 돌아 갑 니 다.예: SELECT instr ('syranmo', 's') FROM dual; –듀 얼 에서 1 SELECT instr ('syranmo', 'ra') 를 되 돌려 줍 니 다.듀 얼 에서 3 SELECT instr ('syranmo', 'at', 1, 2) 를 되 돌려 줍 니 다.dual 에서 0 SELECT instr ('syra / nm / o', '/', 2, 1) 를 되 돌려 줍 니 다.4 를 되 돌려 줍 니 다. 두 번 째 문자 부터 '/' 문자 가 처음 나타 난 위 치 를 찾 습 니 다.
CASE WHEN THEN 다단 계 판단 (CASE WHEN 조건 1THEN 결과 1 WHEN 조건 2THEN 결과 2... WHEN 조건 3THEN 결과 3 ELSE 결과 X END)
Case      。  Case   Case    。
1、  case  
CASE  
   WHEN  THEN 
   WHEN  THEN 
   ...
   ELSE 
END 
 :
select  col_name
when  1  then  " 1 "
when  2  then  " 2 "
when  3  then  " 3 "
else  "   "
end
    col_name  1,   1 ;  2,   2 ;  3,   3 ;    “   ”
2、case    
  if  ,case         ,               ,  case   
CASE
    WHEN  THEN 
    WHEN  THEN 
    ...
    ELSE 
END 
 :
case 
when  col_name<=1  then " 1 "
when  col_name=2  then " 2 "
when  col_name>=3  then " 3 "
else   "   "
end  
    col_name    1,   1 ;  2,   2 ;    3,   3 ;    “   ”

우리 의 맨 위 에 포 함 된 공식 을 살 펴 보 자. SubStr (abcdrfg / sdas / ghg, 3, CASE WEN INSTR (abcdrfg / sdas / ghg, '/', '/', 3, 1) = 0 THEN 10 ELSE (instr (abcdrfg / sdas / ghg, '/', 3, 1) - 1) END 는 'abcdrfg / sdas / ghg' 필드 의 3 번 째 문자 부터 'CASE WEN INSTR (((abcdrfg / sdas / ghg,' / '/' / '/', 3, 1) = 0 THEN 10 ELSE (instr (abcdrfg / sdasg / sdassdassdassdasg / sdas / sdas / ghg, '/' / '/' / '/ ghg,' / ', 3, 1) - 1) END "이렇게 많아
케이스 WHEN INSTR (abcdrfg / sdas / ghg, '/', 3, 1) = 0 THEN 10 ELSE (instr (abcdrfg / sdas / ghg, '/', 3, 1) - 1) END 는 INSTR (abcdrfg / sdas / ghg, '/', 3, 1) = 0 시 10 으로 되 돌아 가 고 그렇지 않 으 면 되 돌아 갑 니 다 (instr (abcdrfg / sdas / ghg, '/', 3, 1) - 1)
INSTR (abcdrfg / sdas / ghg, '/', 3, 1) 은 필드 abcdrfg / sdas / ghg 에서 '/' 문 자 를 찾 습 니 다. 세 번 째 문자 부터 찾 습 니 다. 첫 번 째 '/' 문자 가 나타 나 는 것 을 찾 습 니 다. - 반환 값 6 은 cdrfg / intr (abcdrfg / sdas / ghg, '/', 3, 1) - 1 은 필드 abcdrfg / sdas / ghg 에서 '/' 문 자 를 찾 습 니 다. 세 번 째 문자 부터 찾 습 니 다. 첫 번 째 '/' 가 나타 나 는 것 을 찾 습 니 다.문자. - 반환 값 6 에서 1 을 뺀 결 과 는 5 이 고 cdrfg 입 니 다.

좋은 웹페이지 즐겨찾기