|
以前一直在用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
(!< 和 !> 也差點絆我個跟頭)
php技術:php操作sqlserver關于時間日期讀取的小小見解,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。