SqlServer数据库中,日期的模糊查询

情况是这样的:要查出表中日期为某年某月的数据,查询条件是字符型,表中日期的字段类型为date值为例:2007-01-0500:00:00.000仅模糊查某年的数据是可以的... 情况是这样的:
要查出表中日期为某年某月的数据,查询条件是字符型,表中日期的字段类型为date 值为 例:2007-01-05 00:00:00.000

仅模糊查某年的数据是可以的;
例: select * from A where 日期 like '%2007%'

但是 要查某年某月的就不可以了 select * from A where 日期 like '%2007-01%'
请问高手该怎么办? 谢谢!
展开
 我来答
休闲娱乐达人天际
高能答主

2019-07-24 · 致力于休闲娱乐知识的解答,分享娱乐知识。
休闲娱乐达人天际
采纳数:1605 获赞数:396549

向TA提问 私信TA
展开全部

1、先打开SQL Server数据库并连接。

2、然后找到目标数据库,右键并点击“属性”。

3、在弹出的属性窗口左侧“选择页”中选择“文件”选项卡。

4、然后在右侧窗体中即可看到相应内容了:逻辑名称是数据文件及日志文件的文件名,路径就是其所在位置了。

5、如图,就是相应的.mdf和.ldf文件。

依然特雷西sky
高粉答主

2019-07-28 · 繁杂信息太多,你要学会辨别
知道答主
回答量:1511
采纳率:33%
帮助的人:68.5万
展开全部

1、打开SQL Server Management Studio管理工具,点击【新建查询】,新建一个SQL书写窗口,用于演示SQL的执行。

2、获取SQLServer中的最小日期(1900-01-01 00:00:00.000)。

3、获取明年的今天,含时间的日期,select DATEADD(year, 1, getdate())。

4、获取明年的今天距离SQLServer最小日期之间差了多少年。

5、计算SQLServer最小日期的前一天日期,不含时间。

6、计算当年最后一天0点日期:SQLServer最小年的前一天,加上当前日期的下一年距离最小日期的年份差即可。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-25
展开全部
将数据库中的时间字段格式改为字符串格式。

SELECT * FROM T WHERE Convert(varchar,sendTime,120) LIKE '2007-12-30%'

其中:T为数据库的表,sendTime是数据库中的时间字段的字段名。这样就可以查询2007-12-30的记录了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2012-12-13 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5145万
展开全部
年可以用函数year(日期)=2007
某年某月可以分开查year(日期)=2007 and month(日期)=1
或者转换格式CONVERT(varchar(7), 日期, 23)='2007-01'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micro0369
2012-12-13 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4021万
展开全部
直接convert后进行等值判断,不需要like

select * from A CONVERT(varchar(7), 日期, 120) = '2007-01'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式