sql:='select * from table1 where to_char(upd_date,'yyyymmdd')>='''||to_char(id_date,'yyyymmdd')||'''';
解决方案 »
- 如何用SQL删除table中的重复行
- 请大家看这个sql
- proc 的程序能不能执行sql command命令?
- 请教 如何在oracle 中只保存时间,不保存年份啊?
- 删除列遇到错误,违反唯一约束条件 (SYS.I_COL_USAGE$)
- 请问哪里有Oracle的函数工具包的说明文档下载?如dbms_repcat包
- 表里有个name字段,我想把所有的name值都取出来形成一个字符串,怎么写SQL?
- 我建立了一个oracle数据库,在企业管理器的console中登陆未成功,后在企业管理器的配置辅助工具中配置,提示无监听,如何配置?(我的十wi
- 客户端提交上来几千个字符串进行查询,怎么处理好一点?
- Enterprise Manager 无法连接到数据库实例 求助
- 关于不同的SQL,执行效率不同?高手给指点一下?
- 请问sqlplus对脚本的长度有无规定?
...
BEGIN
SQL := 'select * from table1 where upd_date>=to_date('''
|| TO_CHAR (id_date, 'yyyymmdd')
|| ''',''yyyymmdd'')';
...
END;
--但最好要保证是合法的日期如'2002-12-18 10:10:10',如果传入是date,
--照上面KingSunSha(弱水三千)的语句合并法
produce a (id_date in varchar2)
as
--200吧,50有点短,没有必要给初值
lv_sql varchar(200);
--定义aa为一个ref cursor,这个语句如果用到包,可以写到包头里
type aa is ref cursor;
--这里反了吧,应当是定义mycursor为aa
mycursor aa;
begin
--合并你的语句,date类型需要转换,这里''代表字符串中一个'
--'yyyy-mm-dd hh24:mi:ss'可以自己定义
sql='select * from table1 where upd_date >=to_date('''
|| id_date || ''',''yyyy-mm-dd hh24:mi:ss'');
open mycursor for sql;
--异常处理需要语句。
execption
when others then
raise;
end a;
sql varchar(200);