2016-05-29 9 views
0

次のフォーマットの名前リストを取得する必要があります "Mr。" +ファーストネームイニシャル+ラストネーム+ "。 何私がしようとしていることである。このタイトルとサブストリングを追加するには

salesperson (f_name, l_name) 

ための唯一つのテーブルがあります。それは、サブまたはなく動作

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

を残したが、私はそれらを含まない場合。

答えて

2

||演算子の代わりにconcatを使用すると、MySQLで文字列を連結できます。あなたはそれを持っているので、それは論理的なOR状態と解釈されるので、エラーが発生します。

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

オラクルソリューション

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

それは ": ORA-00909:行1でエラー無効な引数の数" を与える – Shanishka

+1

を、あなたは、Oracleを使用していますか?あなたの質問にはMySQLがあります。 –

+0

謝罪、私はOracleを使用しています。 – Shanishka

0

とにかく、フルで名前のデータを取得し、その後、文字列操作に適している言語を使用してアプリケーションのビューの一部で、それをフォーマットするためのより良い方法です。これはまた、コードをより再利用可能にします。

言われて使用することをこの

SELECT CONCAT("Mr. ",SUBSTRING(f_name, 1, 1) ," ",l_name,".") FROM salesperson 
関連する問題