在SQL中使用convert函數(shù)進(jìn)行日期的查詢的代碼
更新時(shí)間:2007年08月22日 20:23:58 作者:
曾經(jīng)遇到這樣的情況,在數(shù)據(jù)庫的Meeting表中有PublishTime (DateTime,8)字段,用來存儲(chǔ)一個(gè)開會(huì)時(shí)間,在存入時(shí)由于要指明開會(huì)具體時(shí)間,故格式為yyyy-mm-dd hh:mm:ss,而我們查詢時(shí)是通過yyyy-mm-dd來進(jìn)行的,即查詢某一天的所有會(huì)議信息,這樣如果通過select * from Meeting where PublishTime=@PublishTime (參數(shù)@PublishTime為yyyy-mm-dd格式)語句進(jìn)行查詢將無法得到正確結(jié)果,比如我們要查詢2004年12月1日的會(huì)議信息,在輸入2004-12-01時(shí)就不能得到查詢結(jié)果,而這種查詢又不能要求輸入具體的hh:mm:ss.
此時(shí)我們需要使用convert函數(shù),它可以將一種數(shù)據(jù)類型的表達(dá)式轉(zhuǎn)換為另一種數(shù)據(jù)類型的表達(dá)式.此處我們先將數(shù)據(jù)庫內(nèi)的datetime類型轉(zhuǎn)換為char類型,由于輸入的參數(shù)是10位的,所以寫成
select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,這樣在查詢時(shí)數(shù)據(jù)庫得到參數(shù)后先自動(dòng)將數(shù)據(jù)庫內(nèi)的信息轉(zhuǎn)換為yyyy-mm-dd格式的10位字符,只要與參數(shù)相同即可返回查詢結(jié)果.而convert中的121是指將datetime類型轉(zhuǎn)換為char類型時(shí)獲得包括世紀(jì)位數(shù)的4位年份
此時(shí)我們需要使用convert函數(shù),它可以將一種數(shù)據(jù)類型的表達(dá)式轉(zhuǎn)換為另一種數(shù)據(jù)類型的表達(dá)式.此處我們先將數(shù)據(jù)庫內(nèi)的datetime類型轉(zhuǎn)換為char類型,由于輸入的參數(shù)是10位的,所以寫成
select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,這樣在查詢時(shí)數(shù)據(jù)庫得到參數(shù)后先自動(dòng)將數(shù)據(jù)庫內(nèi)的信息轉(zhuǎn)換為yyyy-mm-dd格式的10位字符,只要與參數(shù)相同即可返回查詢結(jié)果.而convert中的121是指將datetime類型轉(zhuǎn)換為char類型時(shí)獲得包括世紀(jì)位數(shù)的4位年份
您可能感興趣的文章:
- SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹
- SQLserver中用convert函數(shù)轉(zhuǎn)換日期格式的方法
- SQL Server 日期相關(guān)資料詳細(xì)介紹
- sqlserver獲取當(dāng)前日期的最大時(shí)間值
- sqlserver中如何查詢出連續(xù)日期記錄的代碼
- sql 查詢本年、本月、本日記錄的語句,附SQL日期函數(shù)
- Sqlserver 常用日期時(shí)間函數(shù)
- 根據(jù)日期知道當(dāng)天是星期幾的手動(dòng)計(jì)算方法
- 按日期選擇最晚日期與最早日期對應(yīng)的數(shù)的差值
- MSSQL 計(jì)算兩個(gè)日期相差的工作天數(shù)的語句
- SQL Server自動(dòng)生成日期加數(shù)字的序列號(hào)
- SQL 返回期間內(nèi)的所有日期
- 數(shù)據(jù)庫 日期加減處理
- sql語句中如何將datetime格式的日期轉(zhuǎn)換為yy-mm-dd格式
- SQL Server日期計(jì)算
- SQL Server各種日期計(jì)算方法(收藏)
- SqlServer中的日期與時(shí)間函數(shù)
相關(guān)文章
Sql Server 2000刪除數(shù)據(jù)庫備份文件
Sql Server 2000刪除數(shù)據(jù)庫備份文件的語句。2009-09-09SQL Server數(shù)據(jù)庫刪除數(shù)據(jù)集中重復(fù)數(shù)據(jù)實(shí)例講解
本文通過一個(gè)例子介紹了SQL Server數(shù)據(jù)庫中刪除數(shù)據(jù)集中的重復(fù)數(shù)據(jù)的操作過程,需要的朋友可以參考下2015-08-08Sql Server 2016新功能之Row-Level Security(值得關(guān)注)
Sql Server 2016 有一個(gè)新功能叫 Row-Level Security 。下面通過實(shí)例給大家介紹Sql Server 2016新功能之Row-Level Security,感興趣的朋友一起看看吧2016-11-11SQLServer設(shè)置客戶端使用IP地址登錄的圖文詳解
這篇文章主要介紹了SQLServer設(shè)置客戶端使用IP地址登錄的圖文詳解,本文通過圖文并茂的形式給大家介紹的非常想詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12SQL Server中的Forwarded Record計(jì)數(shù)器影響IO性能的解決方法
這篇文章主要介紹了SQL Server中的Forwarded Record計(jì)數(shù)器影響IO性能的解決方法,需要的朋友可以參考下2014-07-07SQL Server誤設(shè)置max server memory的處理方法
這篇文章主要給大家介紹了關(guān)于SQL Server誤設(shè)置max server memory的處理方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧下2019-12-12