1
我对存储过程和函数之间的差异有点模糊。我有一个包含数据表,其他细节当中,下面的名称字段雇员目录数据库:MySQL存储过程或函数以特定格式返回一个人的名字
first_name, varchar(45)
mi, char(3)
last_name, varchar(45)
suffix, varchar(10)
我希望能够有一个函数/过程中
返回全名LAST_NAME(后缀)如first_name(英里)
格式,其中括号中的字段是NULL可选在表中。我可以
SELECT last_name, suffix, first_name, mi from employee;
构建在PHP中格式化名称字符串,然后用一系列条件语句来测试空后缀和MI领域。但是,我想能够使用SQL语句像
SELECT getDisplayName() WHERE last_name LIKE '%Smith%';
返回像
结果Smith III, John Q
Smith, Susanne L
Smithers, Waylon
有人点我在正确的方向,或者至少告诉我,如果我需要一个函数或过程?
谢谢。
完美的作品,谢谢。 有没有一种方法可以得到相同的结果而不必指定四个参数?或者它是一个范围问题,如果我不将变量赋予函数,则无法访问它们? – user208145
你是对的“它是一个范围问题,如果我不给变量的功能,它不能访问它们” –
太好了,谢谢@alexander。再次感谢该功能。我不得不稍微调整它,因为“IS NOT NULL”与空字符串不同。不过这是一个很好的开始。 – user208145