程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 比較日期大小的方法

SQL Server 比較日期大小的方法

編輯:關於SqlServer

在機房收費系統中,有幾處這樣的情況:

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

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

假如我們將第一個控件定義成Begin,第二個控件定義成Over!那麼查詢語句不就是
復制代碼 代碼如下:
"select * from recharge_info where date<'" & over.value & "' and 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值:

例如:

復制代碼 代碼如下:
print convert(varchar(19),getdate()) 
print convert(varchar(10),getdate(),110) 
print convert(varchar(11),getdate(),106) 
print convert(varchar(24),getdate(),113) 


結果如下:

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved