我需要按照以下格式获取名称列表 "先生" +名字首字母+姓氏+"。" 这个
只有一个表salesperson (f_name, l_name)
我一直在尝试的是;
SELECT 'Mr.' ||' ' || SUBSTRING(f_name,1,1) || ' ' || l_name ||’.’||
FROM salesperson;
没有子串或左,但如果我包含它们则不行。
答案 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