- 締切済み
SQLSeverでのSQL文について
こんにちは。質問させてください。 今、PHPでSQLSeverのデータを取得しようと考えています。 テーブル(test_tbl)はname(varchar型)、hizuke(datetime型)の2列で 構成されていて 12月のデータを取得したいと考えています。 select name, hizuke from test_tbl where datename(month,hizuke) = '12'; と上記のようにしたいのですが、SQLSeverのクエリーアナライザーでは 正常にデータを取得できましたが、PHPのソースで記述したほうは 検索データを1件も取得することができませんでした。 今度はwhere句以降のdatename関数部分を datename(month, hizuke) = 'December'と記述すると PHPでの方は正常に複数行取得することができます。 datename(year, hiduke) ->'2002', datename(day, hiduke) ->'26'なのに、 なぜ datename(month, hizuke) は'12'でなくて 'December'になってしまうのでしょうか? CONVERTなど色々と他の関数はありますが、 datename関数を使用したいと考えています。 どうぞ、宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
お礼
早速の返信ありがとうございました。 私もマニュアルをいまみたのですが、 『おっ!!datapartでいけるかも』っておもったのですが、 datepartの戻り値がintなのでcharにCASTすると 10~12月は問題ないとおもわれますが、 1月~9月の一桁だと問題になります。 DBに格納されているデータの月が一桁なのは それぞれ01. 02. ... 09なので。 どうしましょ?