日期 模糊查询 like select datediff(hh,'2008-11-27 18:00:00',getdate())----------- 3 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是字符串查询,SQL SERVER会隐式的转换了VARCHAR(40)去查询,你可以看执行计划。你要知道为什么查不出来,你看看你执行下面的的数据是什么就知道了:selelct convert(varchar(40),dtTime) from xx if object_id('tempdb..#')is not null drop table #gocreate table #(dtTime datetime)insert # select '2009-08-12 17:21:00.000'insert # select '2008-08-11 17:21:00.000'insert # select '2008-09-11 16:21:00.000'insert # select '2007-06-11 08:21:00.000'select * from # where datepart(mm,dtTime)='08' and datepart(dd,dtTime)='11'and datepart(hh,dtTime)='17'/*dtTime ------------------------------------------------------ 2008-08-11 17:21:00.000*/ %匹配包含零个或多个字符的任意字符串-匹配涉及模式匹配的字符串比较操作(如 LIKE 和 PATINDEX)中的任何单个字符 重新提问,关于求两张表,两列的集合!谢谢 求一条SQL断号统计语句 sql server中有没有类似oracle中v$locked_object这样可以查看被锁表的信息的相关表? 哪里有MSSQL Server 2005下载呢 急问题:如何将varcher类型的字段更新为money类型? SQL2008R2还原数据库出现奇怪问题.求解. 关于一个远程数据传输的问题! 请教一个sql的问题 SQL 内存的问题 SQL在某个字段值加入特定值 一个关于存储过程的问题望指教 我的SQL Server函数为什么结果不对
你要知道为什么查不出来,你看看你执行下面的的数据是什么就知道了:
selelct convert(varchar(40),dtTime) from xx
go
create table #(dtTime datetime)
insert # select '2009-08-12 17:21:00.000'
insert # select '2008-08-11 17:21:00.000'
insert # select '2008-09-11 16:21:00.000'
insert # select '2007-06-11 08:21:00.000'
select * from # where datepart(mm,dtTime)='08' and datepart(dd,dtTime)='11'
and datepart(hh,dtTime)='17'
/*dtTime
------------------------------------------------------
2008-08-11 17:21:00.000
*/
匹配包含零个或多个字符的任意字符串-
匹配涉及模式匹配的字符串比较操作(如 LIKE 和 PATINDEX)中的任何单个字符