2017-09-16 77 views
-3

現在の月に生まれた全従業員のリストを取得しようとしています。'16 -ep-2017 'のような日付を保存しています。 ORA-00904:「MONTH」:識別子が無効です。ここ は私のコードです:ORA-00904: "MONTH":無効な識別子

SELECT * from employee1 where month(birth_date)=month(now); 

SELECT * FROM employee1 WHERE month(bithdate) = MONTH(CURRENTTIME()); 

SELECT * FROM employee1 
WHERE MONTH(STR_TO_DATE(birth_date, '%d-%m-%Y')) = MONTH(NOW()); 

SELECT * FROM EMPLOYEE1 WHERE STR_TO_DATE(BIRTH_DATE,'%d-%m-%y')=MONTH(CURRENT_DATE); 

select * from employee1 
where CAST(SUBSTRING(birth_date,'%d-%m-%y')AS unsigned)=MONTH(CURRENT_DATE); 

select * from employee1 
where CAST(SUBSTRING(birth_date,'%d-%m-%y')AS varchar2)=MONTH(CURRENT_DATE); 

select * from employee1 where to_date('birthdate', 'dd-mon-yyyy')=month(current_date); 

私はすべての可能性を試してみましたが、私はエラー無効な月の識別子を過ごしてい

+1

なぜOracleエラーのMySQLタグがありますか? 'ORA-00904'はヒントです。 Googleをちょっとしたのであれば、原因を見つけることができます: 'bithdate'( 'r'がありません)が実際の列名ですか? –

+0

私はMySQLを使用していますが、私はGoogleをたくさん持っていますが、まだそれを解決することができません。 – priyanka

+0

Okですが、どのようにOracleエラー番号でMySQLを使用しているのですか? –

答えて

0

たびは、oracleフォームは、(式から要素)を抽出である例えば選択エキス(月からcurrent_date)dualnumberからの月の数字。

+0

select emp_name、employee1からのbirth_dateここで、extract(month from birth_date)= extract(month from birth_date)現在の日付); 私はこのコードを試して、それは動作します。 – priyanka