怎么模糊查询日期类型?

tuzi58 2009-08-14 11:10:58
MatTimer 字段的数据
2009-7-31 12:00:27
2009-7-31 12:00:27
2009-7-31 12:00:27
2009-7-31 12:00:27
2009-7-30 12:00:28
2009-7-30 12:00:28
2009-7-30 12:00:28
2009-7-31 12:00:27
2009-7-31 12:00:27
文本框接收的是 年月日的格式,不带时分秒
用模糊查询 查询出2009-7-31的数据?怎么写Sql语句啊?
...全文
69 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tuzi58 2009-08-14
  • 打赏
  • 举报
回复
写的简洁正确,够强悍的,谢谢
jiangshun 2009-08-14
  • 打赏
  • 举报
回复
水哥写的好简洁
学习
水族杰纶 2009-08-14
  • 打赏
  • 举报
回复
select * 
from tb
where datediff(dd,MatTimer,'2009-7-31')=0
feixianxxx 2009-08-14
  • 打赏
  • 举报
回复
select * 
from tb
where convert(varchar(10),MatTimer,120)='2009-07-31'
jiangshun 2009-08-14
  • 打赏
  • 举报
回复

--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
create table [TB]([MatTimer] datetime)
insert [TB]
select '2009-7-31 12:00:27' union all
select '2009-7-31 12:00:27' union all
select '2009-7-31 12:00:27' union all
select '2009-7-31 12:00:27' union all
select '2009-7-30 12:00:28' union all
select '2009-7-30 12:00:28' union all
select '2009-7-30 12:00:28' union all
select '2009-7-31 12:00:27' union all
select '2009-7-31 12:00:27'

select * from TB where replace(convert(varchar(10),[MatTimer],120),'-0','-')='2009-7-31'

/*
MatTimer
-----------------------
2009-07-31 12:00:27.000
2009-07-31 12:00:27.000
2009-07-31 12:00:27.000
2009-07-31 12:00:27.000
2009-07-31 12:00:27.000
2009-07-31 12:00:27.000

(6 行受影响)

*/

drop table TB
tuzi58 2009-08-14
  • 打赏
  • 举报
回复
select *
from tb
where convert(varchar(10),MatTimer,120)='2009-07-31'
不行啊,还是查不出数据,数据带时分秒的,如果用不带时分秒的就查不出来。
select *
from Matter
where convert(varchar(10),MatTimer,120) like '2009-7-31 %'也不行啊??
--小F-- 2009-08-14
  • 打赏
  • 举报
回复
--日期转换参数,值得收藏
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608

select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )
20040912

select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

其它我不常用的日期格式转换方法:

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
--小F-- 2009-08-14
  • 打赏
  • 举报
回复

select
*
from
tb
where
convert(varchar(10),MatTimer,120)='2009-7-31'
xxmsuper 2009-08-14
  • 打赏
  • 举报
回复

select *
from tb
where convert(varchar(10),MatTimer,120)='2009-07-31'
feixianxxx 2009-08-14
  • 打赏
  • 举报
回复
select * 
from tb
where convert(varchar(10),MatTimer,120)='2009-7-31'

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧