为了账号安全,请及时绑定邮箱和手机立即绑定

您好,求教关于oracle函数,颠倒lastname firstname的问题~

您好,求教关于oracle函数,颠倒lastname firstname的问题~

qq_遁去的一_1 2021-11-22 15:15:39
要写一个oracle函数原来数据样式是lastname,firstname 也就是姓在前,名在后return成firstname lastname名在前,姓在后我写哪里有错误?帮忙改改也行啊Creat or replace function name_reverse(l_f_name in varchar2) return varchar2 isPosition number;Firstname varchar2(32767);Lastname varchar2(32767);F_l_name varchar2(32767);BeginPosition := instr(l_f_name,',');Firstname := substr(l_f_name,0,position);Lastname := substr(l_f_name,position);F_l_name := firstname+' '+lastname;Return f_l_name;End name_reverse;/
查看完整描述

2 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

1,有个语法错误;
2,你的Firstname和Lastname写反了。
这样就可以了。

Create or replace function name_reverse(l_f_name in varchar2) return varchar2 is
Position number;
Firstname varchar2(32767);
Lastname varchar2(32767);
F_l_name varchar2(32767);
Begin
Position := instr(l_f_name, ' ');
Lastname := substr(l_f_name, 1, position);
Firstname := substr(l_f_name, position + 1);
F_l_name := firstname || ' ' || lastname;

Return f_l_name;
End name_reverse;

查看完整回答
反对 回复 2021-11-28
?
翻阅古今

TA贡献1780条经验 获得超5个赞

F_l_name := firstname+' '+lastname;
错了.

Oracle 字符串连接 使用 CONCAT 或者 ||

下面是例子:

SQL> SELECT
2 CONCAT('Good ', 'Morning!') A,
3 'Good ' || 'Morning!' B
4 FROM
5 dual;

A B
-------------------------- --------------------------
Good Morning! Good Morning!


查看完整回答
反对 回复 2021-11-28
  • 2 回答
  • 0 关注
  • 408 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信