置顶随笔 #
2011年7月14日 #
有问题请在此贴跟贴回复,我亦会在此贴回复。
请不要到无关的帖子中跟帖
请尽量描述清楚你的问题和需要,我的理解能力不是很强,呵呵。
请您遵守以下规则:
提问内容中请不要出现 感叹号,跪求等字样。
请尽量不要称呼我为楼主...
请尽量不要冒充女性。
谢谢。
另外提醒一下,可以用页面左边的“找找看”,或许之前的一些文字能直接解决你的问题。
请不要发送博客园短信,经常注意不到那个位置。
2011年3月28日 #
今天遇到这么个小问题,说来也常见。就记录一下。
查询 一个输入范围 内的 数据: Select * from table1 Where fld1>=A and fld<=B
其中A,B均为可选输入项目,有如下几种组合:
1:A有值,B无值,即 Select * from table1 Where fld1>=A
2:A有值,B有值,即 Select * from table1 Where fld1>=A and fld<=B
3:A无值,B无值,即 Select * from table1
4:A无值,B有值,即 Select * from table1 Where fld<=B
基本语法如下(Oracle),其中fld1字段为数值型函数
Select * from table1
Where
decode('&1','',1,fld1)>=to_number(decode('&1','',1,'&1'))
and
decode('&2','',1,fld1)<=to_number(decode('&2','',1,'&2'))
基本思路是:
如果输入的值为空,则主动给一个1,将比对字段也设为1。
这样当值为空时,这个条件转化为1>=1,恒定为true,从而使该条件失效(说有效也可以)。
同理,如果只是对于一个可选参数,就是
Select * from table1
Where
decode('&1','',1,fld1)>=to_number(decode('&1','',1,'&1'))
最近数月工作相当忙碌,所以基本上没有在论坛或博客里回复问题了。
但是来自博客回复和短消息的提问却有增无减,有时候很惭愧,辜负了大家的期待。
决定自即日起,恢复在博客中的答疑。不求最快解决,但求尽量给予回应。
以前的提问就不一一回应了,还没有解决的,烦请再在文中发一次。
下面是一直沿用的提问规则
有问题请在此贴跟贴回复,我亦会在此贴回复。
请不要到无关的帖子中跟帖
请尽量描述清楚你的问题和需要,我的理解能力不是很强,呵呵。
请您遵守以下规则:
提问内容中请不要出现 感叹号,跪求等字样。
请尽量不要称呼我为楼主...
请尽量不要冒充女性。
谢谢。
另外提醒一下,可以用页面左边的“找找看”,或许之前的一些文字能直接解决你的问题。
请不要发送博客园短信,经常注意不到那个位置。
2010年7月28日 #
有问题请在此贴跟贴回复,我亦会在此贴回复。
请不要到无关的帖子中跟帖
请尽量描述清楚你的问题和需要,我的理解能力不是很强,呵呵。
请您遵守以下规则:
提问内容中请不要出现 感叹号,跪求等字样。
请尽量不要称呼我为楼主...
请尽量不要冒充女性。
谢谢。
另外提醒一下,可以用页面左边的“找找看”,或许之前的一些文字能直接解决你的问题。
请不要发送博客园短信,经常注意不到那个位置。
有问题请到此处:水晶报表问题交流与答疑帖-2011/04-05-06
2010年3月21日 #
因为网站空间到期,导致博客中部分文件丢失。
如果有此情况影响您的阅读和访问,请在本文后面留言贴上文章地址或附件地址。
我会在第一时间修正。