php 操作 sqlserver 資料庫 關於時間的小小見解

來源:互聯網
上載者:User

 上周五,要做一個php 同時對mysql資料庫和sqlserver資料庫的串連東東

以前一直在用mysql對sqlserver不是很熟悉,於是摸著石頭過河。沒有別的至少mysql和sqlserver還算是親戚

在做條件查詢的時候。出現了問題

首先是查詢出來的時間是這種格式的

11 30 2009  10:20:20AM

我開啟sqlserver資料庫查看錶中的資料

卻是2009-11-30 10:20:20.233

後來查了查好像sqlserver有個格式問題,但是輸出的時候要的是2009-11-01,沒有辦法,只能在查詢出資料後自己轉換一把了

 

在mysql下面的話

比如我想尋找time在2009-11-01到2009-11-30時間段的資料

select * from table where time > '2009-11-01' and time < '2009-11-30';

我就畫了個虎,結果就不知道我的where跑哪去了,不起任何作用,

 

我想我的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的時間轉換函式convert包括好多種,就是沒有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 and convert(varchar(10),date_time,112) !> $end_date

(!< 和 !> 也差點絆我個跟頭)

小小收穫不敢獨享,在這種棵小種子,等待春天到來,發芽、開花.........

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.