sql 에서 mod()함수 가 나머지 를 취 하 는 용법

Mod(a,b)는 sql 에서 a/b 의 나머지(즉 a%b)를 뜻 합 니 다.
기본 용법:id 가 짝수 나 홀수 가 필요 할 때 mod 를 사용 할 수 있 습 니 다.
mod(id,2)=1 은 id 가 홀수 라 는 것 을 가리킨다.
mod(id,2)=0 은 id 가 짝수 라 는 것 을 가리킨다.

select mod(3,2) from dual
그림 과 같이 실행:
在这里插入图片描述
예 를 들 어 신분증 에 따라 이 직원 이 남녀 인지 여 부 를 판단 하여 성별 에 대한 업 데 이 트 를 실현 한다.
주민등록번호 의 17 번 째 숫자 는 홀수 가 남성 이 고 짝수 가 여성 이다.
SEX CHAR(1)NOT NULL,**성별:1 남,2 녀

UPDATE table_name SET 
SEX = (CASE WHEN mod(identifynumber[17],2) = '1' THEN '1' ELSE  '2' end) 
WHERE condition;
이상 은 CASE WHER 문 구 를 사용 하고 decode 함수 도 사용 할 수 있 습 니 다.(..DECODE 함수 용법
예 를 들 어 주민등록번호 table 2 에 따라 table 1 표 직원 의 성별,생일,연령 을 업데이트 합 니 다.다음 에 사 용 된 것 은 Informix 데이터베이스 입 니 다)

update table1  set 
sex = (select sex 
         from table2  
        where table2.t_id = table1.t_id 
          and table2.t_no = table1.t_no),
birthday = (select substr(identifynumber,7,8) 
              from table2         
             where table2.t_id = table1.t_id 
	           and table2.t_no = table1.t_no),
age = (select year(today) from dual) - ( select year( substr(identifynumber,7,8) ) 
                                           from table2 
                                          where table2.t_id = table1.t_id
                                            and table2.t_no = table1.t_no)
where t_id = '';
【실례】MOD(63,8),MOD(120,10),MOD(15.5,3)에 대해 잉여 연산 을 하고 입력 한 SQL 문장 과 집행 결 과 는 다음 과 같다.

mysql> SELECT MOD(63,8),MOD(120,10),MOD(15.5,3);
+-----------+-------------+-------------+
| MOD(63,8) | MOD(120,10) | MOD(15.5,3) |
+-----------+-------------+-------------+
| 7 | 0 | 0.5 |
+-----------+-------------+-------------+
1 row in set (0.03 sec)
운행 결과 에 따 르 면 63 나 누 기 8 여 수 는 7 이 고 120 나 누 기 10 여 수 는 0 이 며 15.5 나 누 기 3 여 수 는 0.5 이다.
sql 에서 mod()함수 의 잔 수 를 취 하 는 용법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 sql mod()의 잔 수 를 취 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기