안녕하세요. 요즘 앱 개발을 하면서 통계 쿼리를 작성할 일이 있었습니다. 보통은 조회 쿼리도 ORM을 통해서 처리하지만 통계만큼은 SQL문을 작성하는 게 더 편하더군요. 작성한 통계 자체는 복잡하지 않고 결과도 백분율(0~100%)로 나오는 쿼리였습니다. 그런데 막상 작성해 놓고 테스트를 해보니 결과가 0 아니면 100만 나오는 거 아니겠습니까? 어째서 결과가 0? 그래서 디버깅을 위해서 백분율 쿼리를 단순화(하드코딩) 시켜서 접근해 봤습니다. 백분율 쿼리라는 게 결국 (분자 / 분모) * 100으로 계산하니 아래와 같이 돌려봤는데.. SELECT (3 / 4) * 100; 결과는 0이 나왔습니다. (이럴 수가..??) DBMS마다 나눗셈을 처리하는 방식이 다르다 기존에 오라클을 사용하면서 전혀 겪어보지..
문제 발생 안녕하세요. 오늘은 오라클에서 SQL문을 작성하다 보면 종종 발생하는 ORA-00904: "x": invalid identifier에 대해서 알아보겠습니다. 해당 오류는 '유효하지 않은 식별자'라는 내용에서 알 수 있다시피 존재하지 않는 컬럼명이나 함수명을 사용하려고 하면 나타나는데요. 대부분 오타 등으로 발생하지만 다음과 같은 케이스는 조금 다릅니다. 원인 파악 SELECT SAL AS SALARY FROM EMP WHERE SALARY > 3000; 위 SQL 문을 보시면 어떤 생각이 드시나요? 흔히 오라클을 처음 배우는 분들이 많이 접하는 EMP 테이블을 사용하였고, 월급에 해당하는 SAL 컬럼을 ALIAS를 통해서 조금 더 명확하게 SALARY로 변경하였습니다. 그리고 WHERE 절에서..