|
以前一直在用mysql對sqlserver不是很熟悉,于是摸著石頭過河。沒有別的至少mysql和sqlserver還算是親戚
在做條件查詢的時(shí)候。出現(xiàn)了問題
首先是查詢出來的時(shí)間是這種格式的
11 30 2009 10:20:20AM
我打開sqlserver數(shù)據(jù)庫查看表中的數(shù)據(jù)
卻是2009-11-30 10:20:20.233
后來查了查好像sqlserver有個(gè)格式問題,但是輸出的時(shí)候要的是2009-11-01,沒有辦法,只能在查詢出數(shù)據(jù)后自己轉(zhuǎn)換一把了
在mysql下面的話
比如我想查找time在2009-11-01到2009-11-30時(shí)間段的數(shù)據(jù)
select * from table where time > '2009-11-01' and time < '2009-11-30';
我就畫了個(gè)虎,結(jié)果就不知道我的where跑哪去了,不起任何作用,
我想我的2009-11-01確實(shí)不好跟11 30 2009 10:20:20AM或者2009-11-30 10:20:20.233比較,至少可比性不大
于是我就轉(zhuǎn)換我的2009-11-01到11 01 2009 00:00:00AM和2009-11-01 00:00:00.000
再一比更不行。在“:”出錯(cuò)誤。這不是找不自在嗎!
于是別別扭扭的找了一天也沒有點(diǎn)恍然小悟,不能因?yàn)檫@個(gè)小小問題,影響我的形象吧,今天天早早的就醒了,
昨天找到了sqlserver的時(shí)間轉(zhuǎn)換函數(shù)convert包括好多種,就是沒有2009-11-01這種格式,也不知道是我笨還是我笨
沒有辦法,只能中和一下,首先將2009-11-01轉(zhuǎn)換成20091101然后將11 30 2009 10:20:20AM或者2009-11-30 10:20:20.233轉(zhuǎn)換成20091130然后再比較,
別說,還真有結(jié)果了
select * from table where convert(varchar(10),date_time,112) !< $begin_date and convert(varchar(10),date_time,112) !> $end_date
(!< 和 !> 也差點(diǎn)絆我個(gè)跟頭)
php技術(shù):php操作sqlserver關(guān)于時(shí)間日期讀取的小小見解,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。