Oracle SQL 日期比較及員工入職日期計數
問題:
我需要統計1994年6月20日之後入職的員工數量,但遇到了錯誤:
<code class="language-sql">Select employee_id, count(*) From Employee Where to_char(employee_date_hired, 'DD-MON-YY') > '31-DEC-95'; </code>
錯誤:
"JUN' invalid identifier."
解答:
字串與日期比較:
錯誤的原因在於將字串 ('31-DEC-95') 與日期值 (employee_date_hired) 進行比較。要進行日期比較,需要使用 TO_DATE() 函數將字串轉換為日期,或使用日期字面量。
1. TO_DATE() 函數:
<code class="language-sql">select employee_id from employee where employee_date_hired > to_date('31-DEC-95','DD-MON-YY')</code>
2. 日期字面量:
如果希望在不同區域設定下保持一致的行為並進行精確的日期比較,可以使用日期字面量。
<code class="language-sql">select employee_id from employee where employee_date_hired > date '1995-12-31'</code>
技巧:
<code class="language-sql">select employee_id, count(*) from employee where employee_date_hired > date '1995-12-31' group by employee_id</code>
以上是如何正確比較 Oracle SQL 中的日期以統計特定日期之後僱用的員工?的詳細內容。更多資訊請關注PHP中文網其他相關文章!