select * from Table_name where date like '"2006-5-22"%'"
我是这么写的`但是不对~请教各位了`
就是想查询06年X月的所有记录
我是这么写的`但是不对~请教各位了`
就是想查询06年X月的所有记录
解决方案 »
- 命名空间“System.Data”中不存在类型或命名空间名称“TypedTableBase”(是缺少程序集引用吗?)
- 请教PDF转SWF翻页效果的实现。
- CreateUserWizard 注册控件中 使用 自定义ajaxvalidator验证用户是否存在。
- DataTable.Select问题
- ASP.NET中DataList数据绑定与事件
- 分页简单问题请教!
- HTTP/1.1 500 Server Error 求助
- 高手呢?再次发帖,tabstrip标签太多该如何处理?
- 天下第一讨厌事:我现在的系统中老是出现: Windows Installer安装 Microsoft Office 2000 Premium 提示!
- Mail 组件问题!
- 如何主动的删除 session ?
- 用户 'NT AUTHORITY\NETWORK SERVICE'是怎么回事?
可以用模糊查询
select * from Table_name where date like '2006-5-%'如果是DateTime型
只能限定范围
select * from Table_name where date between '2006-5-1' AND '2006-6-1'
比如sqlserver就是cast,而oracle是to_char
没办法模糊查询吗?
select * from Table_name where date between '2006-5-1' AND '2006-6-1'
仓卒之间想到一个比较复杂的办法你可以取得查询时间的年(year)(datetime.year)查询时间的月(month1)(datetime.month)以及查询时间的下一个月(month2)(datetime.addmonth(1).month)如果正好是12月就麻烦了
然后你可以这样构造一个sql语句了
"select * from tabel where qdate > cast('"+year+month1+"1"+"' as datetime) and qdate< cast('"+year+month2+"1"+"' as datetime)"
建议你采用一个时间段来查询
Convert(nchar(10),DatetimeCol,102)>=Convert(nchar(10),yourBeginTime,102) and
Convert(nchar(10),DatetimeCol,102)<=Convert(nchar(10),yourEndTime,102)
虽然长了点,不过好理解
这是所有date值为5月的记录
具体请参考DATEPART函数