如何输入某月的记录

[复制链接]
查看11 | 回复9 | 2005-6-26 01:01:25 | 显示全部楼层 |阅读模式
再请问一下:
如果我想取出某个月输入的记录,以九月为例。如下表
字段为:product,date
那么我就只能写:
select * from tablename where date>'2005-9-30' and date<'2005-9-1'
只能这样吗?有没有其它好的语句呢?
例如只输入9就可以输出9月份的数据。
能不能与9作为判断就够了。因为我想实现只输入月份,那么就可以得出该月份的数据。请各位指教了。@!!
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
可以SubString,不过好像没有任何意义
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
后台数据有必要这样做吗?在程序里调用SQL语句时很容易做的。
如果要这样做,建个SP,定义输入参数,然后CASE判断。
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
select * from tablename wheremonth(date)=9
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
如果限制年月可以写成:
select * from tablename where month(date)=9 and year(date)=2005
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
select * from tablenamewhere convert(varchar2(6),date,112)='200509'
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
hlh_hb
你的方法可以吗?我要试试。
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
不利于性能的优化
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
:定义datetime ,要遵循变量的规则,不然,可定义字符串,只接收[9,09]来判断,不要搞得太复杂。没有太大意义。
回复

使用道具 举报

千问 | 2005-6-26 01:01:25 | 显示全部楼层
selectproduct ,day from table_name
where datename(month,day)='9'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行