str1 varchar(1000);
begin
str1:=''||d1hour00||''+'-'+''||d1hour03||''+'-'+''||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
这么写老提示我字符串拼写不对!谁知道怎么弄啊!帮帮忙啊
18 个解决方案
#1
你那边的加号减号是干吗用的,oracle拼接字符时是用||来进行拼接
#2
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
#3
同上
#4
啊!!是么!那能帮我拼接下么!
-号是连接2个变量用的!想让形成d1hour00-d1hour03-d1hour006这样的字符串
+号我以为和java一样要用他连接字符串呢
-号是连接2个变量用的!想让形成d1hour00-d1hour03-d1hour006这样的字符串
+号我以为和java一样要用他连接字符串呢
#5
晕啊
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示他有错了啊
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示他有错了啊
#6
那就是2楼的理解喽
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
不过这前后加''是干什么用的?
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
不过这前后加''是干什么用的?
#7
str1:=d1hour00||'-'||d1hour03||'-'||d1hour00;
#8
晕啊
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示它有错了啊
这是怎么回事啊
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示它有错了啊
这是怎么回事啊
#9
不是str1:=str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
是str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
是str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
#10
晕啊
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
额额复制多了!但是这样也不打印啊!报错dbms_output.put_line(str1);
有问题啊!
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
额额复制多了!但是这样也不打印啊!报错dbms_output.put_line(str1);
有问题啊!
#11
错误信息是什么?
把你的执行语句也贴出来看看?
把你的执行语句也贴出来看看?
#12
Compilation errors for PROCEDURE JLGR.STRFHYC
Error: PLS-00103: 出现符号 "DBMS_OUTPUT"在需要下列之一时:
* & = - + ; < / >
at in is mod remainder not rem <an exponent (**)>
<> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_
between || member SUBMULTISET_
符号 "*" 被替换为 "DBMS_OUTPUT" 后继续。
Line: 8
Text: dbms_output.put_line(str1)
以上报错
测试 输入 1,2,3
最后应该形成1-2-3
Error: PLS-00103: 出现符号 "DBMS_OUTPUT"在需要下列之一时:
* & = - + ; < / >
at in is mod remainder not rem <an exponent (**)>
<> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_
between || member SUBMULTISET_
符号 "*" 被替换为 "DBMS_OUTPUT" 后继续。
Line: 8
Text: dbms_output.put_line(str1)
以上报错
测试 输入 1,2,3
最后应该形成1-2-3
#13
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour00;
DBMS_OUTPUT.PUT_LINE(STR1);
end STRFHYC;
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour00;
DBMS_OUTPUT.PUT_LINE(STR1);
end STRFHYC;
#14
d1hour00变量本来就是varchar2类型的前面就不用加单引号了啊。
set serveroutput on;
DECLARE
D1HOUR00 VARCHAR2(10) := '1';
D1HOUR03 VARCHAR2(10) := '2';
d1hour06 VARCHAR2(10) := '3';
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour06;
DBMS_OUTPUT.PUT_LINE(STR1);
end;
set serveroutput on;
DECLARE
D1HOUR00 VARCHAR2(10) := '1';
D1HOUR03 VARCHAR2(10) := '2';
d1hour06 VARCHAR2(10) := '3';
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour06;
DBMS_OUTPUT.PUT_LINE(STR1);
end;
#15
楼主,细心点儿嘛,最后一个明明是d1hour06 ,你写成d1hour00了,语句没有错误,结果不正确
#16
先执行这段,看有没有错误信息
再跑这句
CREATE OR REPLACE PROCEDURE strfhyc (
d1hour00 IN VARCHAR2,
d1hour03 IN VARCHAR2,
d1hour06 IN VARCHAR2
)
IS
str1 VARCHAR (1000);
BEGIN
str1 := d1hour00 || '-' || d1hour03 || '-' || d1hour00;
DBMS_OUTPUT.put_line (str1);
END strfhyc;
再跑这句
set serverout on
call strfhyc ('1','2','3');/
#17
万分感谢大家呵呵!数据库不太会写!错误多多啊!终于好用了!
#18
分都给大家了哈!按热心度和给出答案给的分!第一次弄呵呵!多少大家别建议哈
#1
你那边的加号减号是干吗用的,oracle拼接字符时是用||来进行拼接
#2
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
#3
同上
#4
啊!!是么!那能帮我拼接下么!
-号是连接2个变量用的!想让形成d1hour00-d1hour03-d1hour006这样的字符串
+号我以为和java一样要用他连接字符串呢
-号是连接2个变量用的!想让形成d1hour00-d1hour03-d1hour006这样的字符串
+号我以为和java一样要用他连接字符串呢
#5
晕啊
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示他有错了啊
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示他有错了啊
#6
那就是2楼的理解喽
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
不过这前后加''是干什么用的?
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
不过这前后加''是干什么用的?
#7
str1:=d1hour00||'-'||d1hour03||'-'||d1hour00;
#8
晕啊
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示它有错了啊
这是怎么回事啊
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
dbms_output.put_line(str1);
怎么按大家的改了!
报错又提示它有错了啊
这是怎么回事啊
#9
不是str1:=str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
是str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
是str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
#10
晕啊
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
额额复制多了!但是这样也不打印啊!报错dbms_output.put_line(str1);
有问题啊!
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:=''||d1hour00||'-'||d1hour03||'-'||d1hour00||'';
dbms_output.put_line(str1);
end STRFHYC;
额额复制多了!但是这样也不打印啊!报错dbms_output.put_line(str1);
有问题啊!
#11
错误信息是什么?
把你的执行语句也贴出来看看?
把你的执行语句也贴出来看看?
#12
Compilation errors for PROCEDURE JLGR.STRFHYC
Error: PLS-00103: 出现符号 "DBMS_OUTPUT"在需要下列之一时:
* & = - + ; < / >
at in is mod remainder not rem <an exponent (**)>
<> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_
between || member SUBMULTISET_
符号 "*" 被替换为 "DBMS_OUTPUT" 后继续。
Line: 8
Text: dbms_output.put_line(str1)
以上报错
测试 输入 1,2,3
最后应该形成1-2-3
Error: PLS-00103: 出现符号 "DBMS_OUTPUT"在需要下列之一时:
* & = - + ; < / >
at in is mod remainder not rem <an exponent (**)>
<> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_
between || member SUBMULTISET_
符号 "*" 被替换为 "DBMS_OUTPUT" 后继续。
Line: 8
Text: dbms_output.put_line(str1)
以上报错
测试 输入 1,2,3
最后应该形成1-2-3
#13
create or replace procedure STRFHYC(d1hour00 IN VARCHAR2,d1hour03 IN VARCHAR2,d1hour06 IN VARCHAR2) is
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour00;
DBMS_OUTPUT.PUT_LINE(STR1);
end STRFHYC;
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour00;
DBMS_OUTPUT.PUT_LINE(STR1);
end STRFHYC;
#14
d1hour00变量本来就是varchar2类型的前面就不用加单引号了啊。
set serveroutput on;
DECLARE
D1HOUR00 VARCHAR2(10) := '1';
D1HOUR03 VARCHAR2(10) := '2';
d1hour06 VARCHAR2(10) := '3';
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour06;
DBMS_OUTPUT.PUT_LINE(STR1);
end;
set serveroutput on;
DECLARE
D1HOUR00 VARCHAR2(10) := '1';
D1HOUR03 VARCHAR2(10) := '2';
d1hour06 VARCHAR2(10) := '3';
str1 varchar(1000);
begin
str1:= d1hour00||'-'||d1hour03||'-'||d1hour06;
DBMS_OUTPUT.PUT_LINE(STR1);
end;
#15
楼主,细心点儿嘛,最后一个明明是d1hour06 ,你写成d1hour00了,语句没有错误,结果不正确
#16
先执行这段,看有没有错误信息
再跑这句
CREATE OR REPLACE PROCEDURE strfhyc (
d1hour00 IN VARCHAR2,
d1hour03 IN VARCHAR2,
d1hour06 IN VARCHAR2
)
IS
str1 VARCHAR (1000);
BEGIN
str1 := d1hour00 || '-' || d1hour03 || '-' || d1hour00;
DBMS_OUTPUT.put_line (str1);
END strfhyc;
再跑这句
set serverout on
call strfhyc ('1','2','3');/
#17
万分感谢大家呵呵!数据库不太会写!错误多多啊!终于好用了!
#18
分都给大家了哈!按热心度和给出答案给的分!第一次弄呵呵!多少大家别建议哈