MySQL에서 'a' = 'a '가 true로 평가된다?
Johngrib
어떻게 보면 그런가 보다 하고 넘어갈 만한 내용을 끝까지 파본 재밌는 글이 있어 공유드립니다.
이종립(https://careerly.co.kr/profiles/403482) 님께서
업무 중에 우연히 MySQL 에서 'a' = 'a '
의 결과가 1
로 나오는 현상에 궁금증을 가지고 이를 알아가본 글을 작성해주셨는데요,
저도 이종립님처럼 동일한 DB 알못이라 글 자체도 매우 흥미롭고 재밌었지만
인상깊었던 점은 이종립님께서 문제 해결을 하기 위해 접근했던 방식입니다.
MySQL 메뉴얼과 다른 Database 들의 동작을 비교하여 해당 동작이 버그가 아닌걸 확인하고
국가 공인 도서를 통해 CHAR 비교에 대한 동작을 확인하고
CHAR 비교에 대한 동작 중 생긴 의문을 레퍼런스 문서와 SQL 표준 문서를 찾아보고 확인하는 일련의 과정이
우리가 의문이 들거나 이슈가 생겼을 때 원인을 파악하는 과정의 Best Practice 를 보여주는것 같았습니다.
여기에 그치지 않고 PostgreSQL 은 왜 MySQL 과 다르게 동작하는지에 대한 이유까지 찾아 정리함으로써 정말 끝까지 파보셨다 라는 생각을 하게 해주었습니다.
이에 대한 자세한 내용은 공유드린 원문 링크를 참고해주세요.
📚 원문
https://johngrib.github.io/wiki/article/sql-char-comparison/?utm_source=oneoneone
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 5월 28일 오전 7:51
노가리 성으론 재미있고 좋은데, 솔직히 쓰잘데기는 없다고 생각합니다.
운영업무 하면서 찾았었을때는 mysql 에서 collation 별로 후행공백을 인식하는게 다른걸로 알고있는데… 혹시 연관있지않을까해서 댓글남겨용