ホームページ > データベース > mysql チュートリアル > Oracle SQLで日付を正しく比較して、特定の日付以降に雇用された従業員をカウントする方法は?

Oracle SQLで日付を正しく比較して、特定の日付以降に雇用された従業員をカウントする方法は?

Barbara Streisand
リリース: 2025-01-17 10:46:08
オリジナル
251 人が閲覧しました

How to Correctly Compare Dates in Oracle SQL to Count Employees Hired After a Specific Date?

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>
ログイン後にコピー

ヒント:

  • 混乱を避けるために、完全な年 (YYYY) を指定してください。
  • 日付形式をカスタマイズするには、NLS_DATE_LANGUAGE および NLS_DATE_FORMAT 設定を使用します。
  • カウントクエリの場合、employee_id によるグループ化が必要です:
<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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート