台帐表 testTble字段数据如下: id NO(编号)
1 2007
2 2008
3 2009
4 2010
5 2009-1
6 2009-2
7 2009-3
8 2009-4
9 2011
查询条件是根据编号的起始编号和结束编号
如:编号字段输入 2007和2009
则输出: 1 2007
2 2008
3 2009又如:编号字段输入 2009-2和2009-4
则输出: 6 2009-2
7 2009-3
8 2009-4其他同理。。
有点像日期(开始日期和结束日期的查询方式)
但这里的编号是有一定序列的nvarchar 类型。用sql语句或者存储过程算法都行。请高手指点啊。
1 2007
2 2008
3 2009
4 2010
5 2009-1
6 2009-2
7 2009-3
8 2009-4
9 2011
查询条件是根据编号的起始编号和结束编号
如:编号字段输入 2007和2009
则输出: 1 2007
2 2008
3 2009又如:编号字段输入 2009-2和2009-4
则输出: 6 2009-2
7 2009-3
8 2009-4其他同理。。
有点像日期(开始日期和结束日期的查询方式)
但这里的编号是有一定序列的nvarchar 类型。用sql语句或者存储过程算法都行。请高手指点啊。
"但这里的编号是有一定序列的nvarchar 类型" "有一定序列"什么意思?
where to_date(rpad(no,6,'-1'),'YYYY-MM')<=to_date(rpad(:end,6,'-1'),'YYYY-MM')
and to_date(rpad(no,6,'-1'),'YYYY-MM')>=to_date(rpad(:start,6,'-1'),'YYYY-MM')
还需要修改,考虑到月份后面有可能是1位有可能2位
rap(no,7,' -1')
应该用这个,-1前有个空格