ホームページ > php教程 > php手册 > php を使用して SQLserver を操作する場合の時刻と日付の読み取りについてのちょっとした洞察

php を使用して SQLserver を操作する場合の時刻と日付の読み取りについてのちょっとした洞察

WBOY
リリース: 2016-06-13 12:19:54
オリジナル
1494 人が閲覧しました

先週の金曜日、mysql データベースと sqlserver データベースに同時に PHP 接続したいと思いました。
以前は mysql を使用していましたが、sqlserver にはあまり詳しくなかったので、石を感じながら川を渡っていました。他には何もありません。条件付きクエリを実行する場合、少なくとも mysql と sqlserver は相対
です。問題が発生しました
まず、クエリされた時刻はこの形式です
11 30 2009 10:20:20AM
テーブル内のデータを表示するために sqlserver データベースを開いた
しかし、それは 2009 年でした-11-30 10:20:20.233
確認したところ、sqlserver の形式に問題があるようですが、出力は 2009-11-01 で、データをクエリした後、自分で変換するしかありません。
mysql
で、たとえば、2009-11-01 から 2009-11-30 までの期間のデータを検索したいとします
select * from table where time > '2009-11-01' and time > ; '2009-11-30';
トラを描いたのですが、どこに行ったのか分かりません。
2009-11-01 と比べると本当にひどいと思います。 11 30 2009 10:20:20AM または 2009-11-30 10:20:20.233 では、少なくともあまり比較できません
そこで、2009-11-01 を 11 01 2009 00:00:00AM に変換しました2009-11-01 00:00:00.000
と比較するとさらにひどいです。 「:」でエラーが発生しました。これは不快ではありませんか?
それで、この小さな問題が自分のイメージに影響を与えるわけにはいかないので、一日中探していました。
昨日、sqlserver の時刻変換関数を見つけました。の変換ですが、2009-11-01 のような形式はありません。
まず 2009-11-01 を 20091101 に変換してから 11 に変換するしかありません。 30 2009 10:20:20AM または 2009-11-30 10:20:20.233 は 20091130 に変換されて比較されます。
言わないでください。結果はあります
select * from table where Convert(varchar() 10), date_time,112) !< $begin_date と Convert(varchar(10),date_time,112) !> $end_date
(!< と !> にもつまずきそうになりました)

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