sqlserver中比較日期大小

2021-10-04 09:07:46 字數 1718 閱讀 6696

起始日期和終止日期,相信聰明的你肯定可以想象出為什麼要有兩個日期控制項!是的,就是從一張表中查詢出在這兩個日期範圍類的記錄!

有的人就說了,這還不簡單!

假如我們將第乙個控制項定義成begin,第二個控制項定義成over!那麼查詢語句不就是

"select * from recharge_info where date'" & begin.value & "'"
這有什麼難的!但是,事實並不是這麼簡單的,如果查詢語句像這樣寫的話,你是肯定查詢不出來的,那麼我們到底該怎能在sql server中來比較兩個日期的大小呢?

這裡我們就要借用convert()函式了

convert() 函式是把日期轉換為新資料型別的通用函式。

convert() 函式可以用不同的格式顯示日期/時間資料。

語法:convert(data_type(length),data_to_be_converted,style)

其中,data_type(length)規定目標資料型別(帶有可選的長度)data_to_be_converted 含有需要轉換的值 style規定日期時間的輸出格式

其中,可使用的style值:

如果你在sql server中用到根據日期查詢記錄的話,如果你用date='2013-09-22' 這樣的查詢語句的時候,但是你仍然能查出你想要的結果的時候,請記住:這並不是你所想的表中記錄的日期等於現在的日期,而是表中日期這個字串和'2013-09-22'這個字串相等!

select id, name, zbr, opentime, evaluationtime, extracttime, place, agency, basic, othermatters, czr, jdr from project  

where i***tract = 1 and cast(convert(varchar, extracttime)as datetime) >= cast(convert(varchar, '2020-03-07')as datetime) 

and cast(convert(varchar, extracttime)as datetime) < cast(convert(varchar, '2020-03-25')as datetime)

關鍵的地方: 

cast(convert(varchar, extracttime)as datetime) >= cast(convert(varchar, '2020-03-07')as datetime) 

and cast(convert(varchar, extracttime)as datetime)

< cast(convert(varchar, '2020-03-25')as datetime)

SQL Server 中日期比較

1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff...

shell, python中比較兩個日期的先後

在shell中我們可以利用date命令比較兩個日期的大小,方法是先把日期轉換成時間戳格式,再進行比較。date 的 s可以將日期轉換成時間戳格式,看下面的例子 bin bash date1 2008 4 09 12 00 00 date2 2008 4 10 15 00 00 date3 aug 1...

java中比較兩個日期的先後

string begintime new string 2014 08 15 10 22 22 string endtime new string 2014 09 02 11 22 22 1.把字串型別的日期資料轉化成長整型,然後比較大小。如果日期格式有時分秒,則 寫成 s if long.valu...