SQL Server 比較日期大小的方法
在機(jī)房收費(fèi)系統(tǒng)中,有幾處這樣的情況:
起始日期和終止日期,相信聰明的你肯定可以想象出為什么要有兩個(gè)日期控件!是的,就是從一張表中查找出在這兩個(gè)日期范圍類(lèi)的記錄!
有的人就說(shuō)了,這還不簡(jiǎn)單!
假如我們將第一個(gè)控件定義成Begin,第二個(gè)控件定義成Over!那么查詢語(yǔ)句不就是
"select * from recharge_info where date<'" & over.value & "' and date>'" & begin.value & "'"
這有什么難的!但是,事實(shí)并不是這么簡(jiǎn)單的,如果查詢語(yǔ)句像這樣寫(xiě)的話,你是肯定查找不出來(lái)的,那么我們到底該怎能在SQL Server中來(lái)比較兩個(gè)日期的大小呢?
這里我們就要借用CONVERT()函數(shù)了
CONVERT() 函數(shù)是把日期轉(zhuǎn)換為新數(shù)據(jù)類(lèi)型的通用函數(shù)。
CONVERT() 函數(shù)可以用不同的格式顯示日期/時(shí)間數(shù)據(jù)。
語(yǔ)法:CONVERT(data_type(length),data_to_be_converted,style)
其中,data_type(length)規(guī)定目標(biāo)數(shù)據(jù)類(lèi)型(帶有可選的長(zhǎng)度)data_to_be_converted 含有需要轉(zhuǎn)換的值 style規(guī)定日期時(shí)間的輸出格式
其中,可使用的style值:
例如:
print convert(varchar(19),getdate())
print convert(varchar(10),getdate(),110)
print convert(varchar(11),getdate(),106)
print convert(varchar(24),getdate(),113)
結(jié)果如下:
如果你在SQL Server中用到根據(jù)日期查找記錄的話,如果你用date='2013-09-22' 這樣的查詢語(yǔ)句的時(shí)候,但是你仍然能查出你想要的結(jié)果的時(shí)候,請(qǐng)記?。哼@并不是你所想的表中記錄的日期等于現(xiàn)在的日期,而是表中日期這個(gè)字符串和'2013-09-22'這個(gè)字符串相等!
相關(guān)文章
CASE表達(dá)式實(shí)現(xiàn)基于條件邏輯來(lái)返回一個(gè)值
針對(duì)一列,基于條件邏輯來(lái)返回一個(gè)值,那么,這時(shí)候就需要使用到CASE表達(dá)式了,下面是具體的應(yīng)用2014-07-07SQLServer 觸發(fā)器 數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)備份
首先,你需要建立測(cè)試數(shù)據(jù)表,一個(gè)用于插入數(shù)據(jù):test3,另外一個(gè)作為備份:test3_bak2009-07-07淺析SQL Server中的執(zhí)行計(jì)劃緩存(上)
這篇文章主要介紹了淺析SQL Server中的執(zhí)行計(jì)劃緩存(上)的相關(guān)資料,需要的朋友可以參考下2015-12-12SQLServer導(dǎo)出數(shù)據(jù)到MySQL實(shí)例介紹
本文為大家詳細(xì)介紹下從SQLServer導(dǎo)出數(shù)據(jù)并將數(shù)據(jù)導(dǎo)入到MySQL,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈2013-07-07深入淺出解析mssql在高頻,高并發(fā)訪問(wèn)時(shí)鍵查找死鎖問(wèn)題
SQL Server死鎖使我們經(jīng)常遇到的問(wèn)題,數(shù)據(jù)庫(kù)操作的死鎖是不可避免的,本文并不打算討論死鎖如何產(chǎn)生,重點(diǎn)在于解決死鎖。希望對(duì)您學(xué)習(xí)SQL Server死鎖方面能有所幫助。2014-08-08數(shù)據(jù)庫(kù)備份 SQLServer的備份和災(zāi)難恢復(fù)
數(shù)據(jù)處理在現(xiàn)代企業(yè)運(yùn)營(yíng)中變得越來(lái)越重要,越來(lái)越關(guān)鍵,甚至?xí)蔀槠髽I(yè)發(fā)展的一項(xiàng)瓶頸. 數(shù)據(jù)保護(hù)的重要性也不言而喻. 如果一個(gè)企業(yè)沒(méi)有很好的數(shù)據(jù)保護(hù)方案或策略的話,一旦發(fā)生重要數(shù)據(jù)丟失,后果將會(huì)是災(zāi)難性的,伴隨著會(huì)有經(jīng)濟(jì)利益方面的損失.2010-07-07SQL Server中判斷和處理NULL值的多種方法和解決方案
在SQL Server數(shù)據(jù)庫(kù)中,NULL是表示缺少數(shù)據(jù)或未知值的特殊標(biāo)記,處理NULL值是SQL開(kāi)發(fā)人員經(jīng)常遇到的問(wèn)題之一,本文將介紹SQL Server中判斷和處理NULL值的不同方法,以及一些解決方案,幫助您更好地處理數(shù)據(jù)庫(kù)中的NULL值情況,需要的朋友可以參考下2024-01-01ms sql server中實(shí)現(xiàn)的unix時(shí)間戳函數(shù)(含生成和格式化,可以和mysql兼容)
這篇文章主要介紹了ms sql server中實(shí)現(xiàn)的unix時(shí)間戳函數(shù),含生成和格式化UNIX_TIMESTAMP、from_unixtime兩個(gè)函數(shù),可以和mysql兼容,需要的朋友可以參考下2014-07-07利用腳本自動(dòng)安裝SQLServer的實(shí)現(xiàn)步驟分析
在工作中,經(jīng)常被要求一天安裝個(gè)10臺(tái)、8臺(tái)的SQL Server。2010-11-11