mysql에서 9e2의 연산은 지수 연산으로써 9*(10*10)의 결과로 900을 나타낸다.
select 9e0; ==> 9
select 9e1; ==> 90
select 9e2; ==> 900
select 9e999 ==> Error Code: 1367. Illegal double '9e999' value found during parsing
일정 값 이상되면 범위를 벗어나서 에러가 발생한다.
substr(key,1,1) ==> g라고 가정할때
select substr(key,1,1) = 'a' and 9e307 * 9e307;
==> 1 row(s) returned 0.000 sec / 0.000 sec
select substr(key,1,1) = 'g' and 9e307 * 9e307;
==> Error Code: 1690. DOUBLE value is out of range in '(9e307 * 9e307)' 0.000 sec
9e307은 테스트 버전(mysql 5.6.21)에서 9e___가 에러를 안내고 허용하는 최대값이다.
9e308부터는 1367 에러발생.
'web' 카테고리의 다른 글
[SQL Injection] BETWEEN 으로 비교연산 실행 (0) | 2015.03.25 |
---|---|
[SQL Injection] SQL Injection이란? (0) | 2015.03.02 |
webhacking.kr을 통해 배우는 웹 해킹 기초 (0) | 2015.03.02 |
Owasp Top 10 2013 (0) | 2015.01.21 |
인코딩과 인코딩 방식 (0) | 2014.07.07 |