如何添加标题和子字符串

时间:2016-05-29 00:09:20

标签: sql oracle

我需要按照以下格式获取名称列表 "先生" +名字首字母+姓氏+"。" 这个

只有一个表
salesperson (f_name, l_name)

我一直在尝试的是;

SELECT 'Mr.' ||' ' || SUBSTRING(f_name,1,1) || ' ' || l_name ||’.’||
FROM salesperson;

没有子串,但如果我包含它们则不行。

2 个答案:

答案 0 :(得分:2)

使用concat代替||运算符来连接MySQL中的字符串。如你所知,它将被解释为逻辑OR条件,因此你会得到错误。

SELECT CONCAT('Mr.',' ',SUBSTRING(f_name,1,1),' ',l_name,'.')
FROM salesperson;

Oracle解决方案

SELECT 'Mr.'||' '||SUBSTR(f_name,1,1)||' '||l_name||'.'
FROM salesperson;

答案 1 :(得分:0)

无论如何,最好还是完整地获取名称数据,然后使用更适合字符串操作的语言在应用程序的视图部分中对其进行格式化。这也使您的代码更具可重用性。

据说使用这个

    SELECT CONCAT("Mr. ",SUBSTRING( f_name, 1, 1 ) ," ",l_name,".") FROM salesperson