帮兄弟一把 select instr('abcdefgabcdefg','d') from dual;结果4可以查找第几次出现的位置,也可从后面查找出现的位置,可以设置从哪个字符开始查找,如,select instr('abcdefgabcdefg','d',1,2) from dual;结果为11; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢mosaic(影子)兄,小弟我实在是才疏学浅.多谢各位看官了.又有一个新问题:如何知道"2004-1-7" 是星期几啊?有没有ms sql server 中datename的函数? SQL> select to_char(to_date('2004-1-7','yyyy-mm-dd'),'day') from dual;TO_CHAR(TO_DATE('2004-1-7','YY------------------------------星期三 小弟我真的太菜了,又向各位大虾提很菜的问题了。如何在存储过程中调用另外的存储过程啊?存储过程建立了以后,是否一定要授权啊?如下:create or replace procedure GetDiscount(szStart in out varchar2, nID in number, fDiscount out number)aswd number;nSecond number;hh number;mi number;ss number;nShortID number;nret number;begin szStart := ltrim(rtrim(szStart)); @fDiscount := 1.0; --to_char(to_date('2004-1-7','yyyy-mm-dd'),'day'); wd := round(to_date(szStart), 'd'); hh := round(to_date(szStart), 'hh'); mi := round(to_date(szStart), 'mi'); ss := round(to_date(szStart), 'ss'); nSecond := hh*3600+mi*60+ss; exec @GetDiscInfo(nID, wd, nShortID); commit; if(nShortID = -1) then nret := 1; return; end if; exec @GetTimeInfo(nSecond, nShortID, fDiscount); commit; nret := 0; return;end GetDiscount;/谢谢各位了!!!! create or replace procedure GetDiscount(szStart in out varchar2, nID in number, fDiscount out number)aswd number;nSecond number;hh number;mi number;ss number;nShortID number;nret number;begin szStart := ltrim(rtrim(szStart)); fDiscount := 1.0; --to_char(to_date('2004-1-7','yyyy-mm-dd'),'day'); wd := to_char(to_date(szStart), 'd'); hh := to_char(to_date(szStart), 'hh'); mi := to_char(to_date(szStart), 'mi'); ss := to_char(to_date(szStart), 'ss'); nSecond := hh*3600+mi*60+ss; GetDiscInfo(nID, wd, nShortID); commit; if(nShortID = -1) then nret := 1; return; end if; GetTimeInfo(nSecond, nShortID, fDiscount); commit; nret := 0; return;end GetDiscount;/ 谢谢beckham兄,又报32/2 PLS-00905: 对象 SYS.GETTIMEINFO 无效32/2 PL/SQL: Statement ignoredSQL> 其中GetDiscInfo 和 GetTimeInfo 都是存储过程,已经生成的了.各位再拉兄弟一把,多谢拉!!! nShortID --这个什么时候赋值了? oracle表字段的default值设置 oracle数据库 sql语句编写 大大们来帮忙啊 备份oracle数据库 Oracle数据库系统中的错误信息保存在哪儿表中? kill掉Session后,怎么手动回滚这个Session用过的回滚空间 我用RMAN对DB做了0级备份、1级备份和2级备份,但不知因该如何利用他们进行恢复???? 什么办法能实现将多个oracle表导出成sql文件。 关于SQLPLUS查询结果输出到文件 OCI、PRO*C??? 求一个联表查的SQL 挑战高度:写sql 高手请进:倒底是我装的Oracle8.0.5有问题,还是我写的程序有问题!
小弟我实在是才疏学浅.多谢各位看官了.又有一个新问题:
如何知道"2004-1-7" 是星期几啊?有没有ms sql server 中datename的函数?
------------------------------
星期三
如何在存储过程中调用另外的存储过程啊?
存储过程建立了以后,是否一定要授权啊?
如下:
create or replace procedure GetDiscount
(
szStart in out varchar2,
nID in number,
fDiscount out number
)
as
wd number;
nSecond number;
hh number;
mi number;
ss number;
nShortID number;
nret number;
begin
szStart := ltrim(rtrim(szStart));
@fDiscount := 1.0; --to_char(to_date('2004-1-7','yyyy-mm-dd'),'day');
wd := round(to_date(szStart), 'd');
hh := round(to_date(szStart), 'hh');
mi := round(to_date(szStart), 'mi');
ss := round(to_date(szStart), 'ss');
nSecond := hh*3600+mi*60+ss; exec @GetDiscInfo(nID, wd, nShortID);
commit;
if(nShortID = -1) then
nret := 1;
return;
end if;
exec @GetTimeInfo(nSecond, nShortID, fDiscount);
commit;
nret := 0;
return;
end GetDiscount;
/
谢谢各位了!!!!
(
szStart in out varchar2,
nID in number,
fDiscount out number
)
as
wd number;
nSecond number;
hh number;
mi number;
ss number;
nShortID number;
nret number;
begin
szStart := ltrim(rtrim(szStart));
fDiscount := 1.0; --to_char(to_date('2004-1-7','yyyy-mm-dd'),'day');
wd := to_char(to_date(szStart), 'd');
hh := to_char(to_date(szStart), 'hh');
mi := to_char(to_date(szStart), 'mi');
ss := to_char(to_date(szStart), 'ss');
nSecond := hh*3600+mi*60+ss; GetDiscInfo(nID, wd, nShortID);
commit;
if(nShortID = -1) then
nret := 1;
return;
end if;
GetTimeInfo(nSecond, nShortID, fDiscount);
commit;
nret := 0;
return;
end GetDiscount;
/
32/2 PLS-00905: 对象 SYS.GETTIMEINFO 无效
32/2 PL/SQL: Statement ignored
SQL>
其中GetDiscInfo 和 GetTimeInfo 都是存储过程,已经生成的了.
各位再拉兄弟一把,多谢拉!!!