sql日期like
『壹』 關於sql模糊查詢日期時間的方法
1、Convert轉成String,在用Like查詢。
select*fromtable1 whereconvert(varchar,yourtime,120) like '2017-06-30%'
2、Between
select*fromtable1whereyourtime between '2017-06-30 0:00:00' and '2017-06-30 24:59:59'";
3、datediff()函數
select*fromtable1 wheredatediff(day,yourtime,'2017-06-30')=0
(1)sql日期like擴展閱讀
表達式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])
允許數據類型: timeinterval 表示相隔時間的類型,代碼為:
年份 yy、yyyy 季度 qq、q
月份 mm、m
每年的某一日 dy、y
日期 dd、d
星期 wk、ww
工作日 dw
小時 hh
分鍾 mi、n
秒 ss、s
毫秒 ms
『貳』 在SQL里,DATETIME類型的數據可以使用LIKE來查詢嗎
你可以這樣使用
SELECT * from table WHERE convert(varchar(50),DATAGETTIME) LIKE '2008-9-15%'
就是先用convert函數把虛坦DATETIME格州渣式冊譽悄的數據轉換成varchar格式,然後就可以用like了。
『叄』 sqlserver ,用like 『日期' 查詢
查詢某一個時間范圍內的日期,應該用 BETWEEN AND
或者 > .. AND < ...
因為BETWEEN AND是取閉區間的,所以上面的代碼可以改成
select * from schele where begintime >= '2007-12-19' and begintime < '2007-12-20'
如果樓主一定堅持要用LIKE查詢,可以參考下面的方法:
select * from schele where convert( varchar(32), begintime, 20 ) LIKE '2007-12-20%'
其中對 convert 不理解,可以參考 T-SQL語法
第3個參數值為20,代表ODBC 規范的yyyy-mm-dd hh:mm:ss(24h)
『肆』 關於SQL模糊查詢日期時間的方法
有以下三種方法:
1、Convert轉成String,在用Like查詢
select * from table1 where convert(varchar,yourtime,120) like '2017-06-30%'
2、Between
select * from table1 where yourtime between '2017-06-30 0:00:00' and '2017-06-30 24:59:59'";
3、datediff()函數
select * from table1 where datediff(day,yourtime,'2017-06-30')=0
(4)sql日期like擴展閱讀:
滾與上述日期格式的like模糊查詢的注意事項
1、select * from T where sendTime like '%2007_12_%' 可以查詢2007年12月的所有記錄
如果like條件改為'%2007-12-%' ,'%2007_12_3%' ,或'%2007_12_30%' 都查不出數據。
2、select * from T where sendTime like '%12_30%' 可以查詢12月30日的所有記錄
如果like條件改為'%07_12_30%' 也查不出數據。
『伍』 SQL 用Like 模糊查詢時間
where d.fBeginTime between '2006-11-09' and dateadd(d,1,'2006-11-09')
『陸』 sql日期的模糊(like)查詢,字斷內日期的格式為yyyy-m-d,針對1日與10幾日,2日與20幾日怎麼區分
SQL Server CONVERT() 函數
SQL Server Date 函數
定義和用法
CONVERT() 函數是把日期轉換為新數據類型的通用函數。
CONVERT() 函數可以用不同的格式顯示日期/時間數據。
語法
CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 規定目標數據類型(帶有可選的長度)。data_to_be_converted 含有需要轉換的值。style 規定日期/時間的輸出格式。
可以使用的 style 值:
Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(沒有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
實例
下面的腳本使用 CONVERT() 函數來顯示不同的格式。我們將使用 GETDATE() 函數來獲得當前的日期/時間:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
結果類似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
用121轉換一下,就是中國人習慣的格式了,且3月是03,不出現位數不同的問題,呵呵
『柒』 SQL里怎麼用Like搜時間欄位
先把日期轉換成字元串
select * from test1
where to_char(age) like '%2017-01-16%'
『捌』 sql server 2000,like 時間欄位 的請教
like是字元串模糊匹配的關鍵字。
你的欄位是日期類型還是字元串類型?如果是日期型,那是肯定無法得到結果的。
如果一定要使用Like,可以先把日期轉成字元串,在使用。
如果祥察不使用like,可以把2011-1-1分別得到這天的開始和結束的兩個時間,一個是0點,察脊一個是23點59分59秒,然後使用between and語法。
不管怎麼做,轉化類型是一定的。
select * from table where convert(varchar(50), op_date, 120) like '敗宴滲2011-1-1%'
或者
select * from table where op_date between convert(datetime, '2011-1-1', 120) and convert(datetime, '2011-1-1 23:59:59', 120)
『玖』 在SQL里,DATETIME類型的數據可以使用LIKE來查詢嗎
你可以這樣使用
SELECT
*
from
table
WHERE
convert(varchar(50),DATAGETTIME)
LIKE
'2008-9-15%'
就是先用convert函數把DATETIME格式的
數據轉換
成varchar格式,然後就可以用like了。
『拾』 sql like查詢時間問題
select * from tab where Convert(varchar(20),cdatetime,120) like '2010-03-19%'