1樓:匿名使用者
like 的語法是針對於string型別資料,而datetime型別好像是不可以的,不過你必須要用的話,你要先進行轉換資料型別以後再寫like。
2樓:匿名使用者
查詢某一個時間範圍內的日期,應該用 between and或者 > .. and < ...
因為between and是取閉區間的,所以上面的**可以改成select * from schedule where begintime >= '2007-12-19' and begintime < '2007-12-20'
如果樓主一定堅持要用like查詢,可以參考下面的方法:
select * from schedule where convert( varchar(32), begintime, 20 ) like '2007-12-20%'
其中對 convert 不理解,可以參考 t-sql語法第3個引數值為20,代表odbc 規範的yyyy-mm-dd hh:mm:ss(24h)
3樓:匿名使用者
這個不清楚不過你用擷取字串方式查詢就行了。
關於sql模糊查詢日期時間的方法
4樓:幸運的創業找我
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
擴充套件資料
表示式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
5樓:大野瘦子
有以下三種方法:
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
6樓:du瓶邪
模糊查詢有以下三種方法:
1.convert轉成string,在用like查詢。
select * from table1 where convert(varchar,date,120) like '2006-04-01%'
2.between
select * from table1 where time between '2006-4-1 0:00:00' and '2006-4-1 24:59:59'";
3 datediff()函式
select * from table1 where datediff(day,time,'2006-4-1')=0
第一種方法應該適用與任何資料型別;
第二種方法適用string外的型別;
第三種方法則是為date型別定製的比較實用快捷的方法。
7樓:匿名使用者
要返回正確的記錄,你需要適用日期和時間範圍。有不止一種途徑可以做到這一點。例如,下面的這個select 語句將能返回正確的記錄:
select * from weblog
where entrydate>=」12/25/2000」 and entrydate<」12/26/2000」
這個語句可以完成任務,因為它選取的是表中的日期和時間大於等於12/25/2000 12:00:00:
000am並小於12/26/2000 12:00:00:
000am的記錄。換句話說,它將正確地返回2023年聖誕節這一天輸入的每一條記錄。
另一種方法是,你可以使用like來返回正確的記錄。通過在日期表示式中包含萬用字元「%」,你可以匹配一個特定日期的所有時間。這裡有一個例子:
select * from weblog where entrydate like 『dec 25 2000%』
這個語句可以匹配正確的記錄。因為萬用字元「%」代表了任何時間。
8樓:
日期不是字串,其實是一個double型別的數字,這樣找肯定不行的了,要找這一天的,就找大於今天0點的,小於下一天0點的,就行了麼
或者找找求日期的什麼函式,光比較日期
9樓:匿名使用者
select punchtime from dbo.attendpunch,dbo.employee where attendpunch.
empno=employee.empno
and employee.empno='12020' and attendpunch.punchtime between '2007-05-17 00:
00:00' and '2007-05-17 23:59:
59' order by attendpunch.punchtime
sql server 中要用 日期型的欄位作為查詢條件?
10樓:du瓶邪
比如一張表裡有如下時間欄位的記錄:
2009-01-01 12:00:00
2008-12-23 11:00:11
2009-12-22 11:22:00
2009-01-01 14:00:00
2009-12-22 12:00:09
通過以下的**段進行group by之後重排序得到新的結果。
select convert(varchar(10), starttime,20) as 'dailydate' from table1 group by convert(varchar(10), starttime,20)
結果如下:
2009-01-01
2008-12-23
2009-12-22
11樓:匿名使用者
用 大於 〉 小於 < 就可以了 阿
比如 你 日期欄位時 date
你要查詢 大於 2006-5-16 好的 資料那麼 while date〉'2006-5-16'就可以了。
12樓:匿名使用者
用datediff 函式
select * from tabel where datediff(datepart,查詢日期,設定日期)>0
like後面用動詞原形嗎,like後面可以加動詞原形嗎?
like後通常加n.to do或doing.加to do表想做而未做.是一次性動作.加doing則表經常性動作.喜歡做某事like n doing to do或adj 表希望 喜歡 某物怎樣 沒有原型 用bailike to 表du意願 例如 i don t like to disturb you....
在SqlServer中如何只取當前月日
select from 表名 where convert varchar,日期,112 between convert varchar,getdate 112 and convert varchar,dateadd month,1,getdate 112 你可以把下邊兩句分別跑一 版下看下結果權 s...
用C如何呼叫sql server2019觸發器
觸發器是執行sql語句的時候,系統自動執行的,要不怎麼叫觸發器。觸發器是不用人為執行的。你說的呼叫是呼叫儲存過程或函式吧。觸發器 準確的來說觸發器是你在更新或者操作某個資料時,而執行的一段程式。比如 你寫一段 當刪除每個員工的姓名時,也刪除該員工的所有資訊。這就是叫做觸發器。所以觸發器是不用呼叫的。...