완료됨
string or string 질문
uid = 'or'1'#
이렇게 입력하여 모든 컬럼을 출력했습니다. or '1'이 자연수이기 때문에 참이 된 것이라고 생각했습니다. 하지만 '0', 'asdf'와 같은 값을 넣어도 모든 컬럼이 출력되었고 ''를 입력했을때에만 출력되지 않았습니다. 왜 이런 결과가 나온 것인지 궁금합니다...
or 'string'
은 null이 아니기만 하면 무조건 참인건가요?
#웹해킹
작성자 정보
답변
1
meu
.HACK 2024 참가자
mysql> select 1 is true;
+-----------+
| 1 is true |
+-----------+
| 1 |
+-----------+
1 row in set (0.00 sec)
mysql> select '' is true;
+------------+
| '' is true |
+------------+
| 0 |
+------------+
1 row in set, 1 warning (0.00 sec)
mysql> select '1' is true;
+-------------+
| '1' is true |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
mysql> select '0' is true;
+-------------+
| '0' is true |
+-------------+
| 0 |
+-------------+
1 row in set (0.00 sec)
특정 언어와 환경에 따라 true
로 변환되는 값이 다릅니다.