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」の識別子が無効です。"
答え:
文字列と日付の比較:
文字列 ('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 中国語 Web サイトの他の関連記事を参照してください。