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.