2017-07-03 1 views
3
select CONCAT(address,city) as Address from student order by Address desc; 

は、これはどのように私は、都市とアドレスの間昏睡とスペースを追加することができ、学生のテーブルからsqlのconcat()は、特殊文字を含む2つ以上の引数をどのように追加しますか?

--- Program output --- 

ADDRESS 
---------------------------------------------------------------------- 
LMCCoimbatore 
FFFVilupuram 
BBBAgra 
ABCSalem 
AAAPondichery 


--- Expected output (text)--- 
ADDRESS 
------------------------------------------------------------------------ 
LMC, Coimbatore 
FFF, Vilupuram 
BBB, Agra 
ABC, Salem 
AAA, Pondichery 

をアドレスと住所などの別名を持つ都市を表示するためのクエリですか? 3番目の文字列を '、'として使用すると、無効な数の引数エラーが発生します。

+1

を使用していますか? – sle1306

答えて

3

CONCATバージョン:

それは、引数のいずれかがNULLの場合、NULLを返すからあなたを守ってくれるので、私はCONCATをお勧めします - 少なくともMSSQLに。

MSSQL & MySQLの&のPostgresSQL &のTeradata:

select CONCAT(address,', ',city) as Address from student order by Address desc; 

MySQLバージョン2:

select CONCAT_WS(', ', address,city) as Address from student order by Address desc; 

オラクル& IBM DB2 & IBM Informixの:

select CONCAT(address,CONCAT(', ',city)) as Address from student order by Address desc; 

IBMのDB2:

select address CONCAT ', ' CONCAT city as Address from student order by Address desc; 

非連結バージョン:

|| ANSI標準ですが、すべてのシステムで使用されるわけではありません。

MSSQL &のSybase IQ:

select address + ', ' + city as Address from student order by Address desc; 

のMySQL(いわゆる近接演算子、デフォルトの動作):(SET sql_mode='PIPES_AS_CONCAT';付き)

select address ', ' city as Address from student order by Address desc; 

のPostgresSQL &オラクル& MySQLの& IBM Informixの&のSybase IQ:

select address || ', ' || city as Address from student order by Address desc; 
+0

MS SQLサーバでは動作しますが、別のデータベースエンジンでは動作しません – sle1306

+0

この場合、Oracleだけが特別なようです。そうでなければPostgres、MySQLはそれを使って作業を行います。もちろん、ここに別のRDBMSが使用されている場合を除きます。 –

2

その他の回答に加えて、SQLの標準(ISO 9075)連結演算子は||ですが、すべてのDBエンジンでサポートされているわけではありません。

select address || ', ' || city 

Oracleは、データベースエンジンを使用しているこの1

+0

助けてくれてありがとう、それは働いた - C.Champagne – Prudhviraj

+0

@ Cシャンパンこれのためにありがとう - 私は私の答えにそれを含めている。 –

+0

私の知る限り、2つの製品だけが標準文字列連結をサポートしていません:MS AccessとMS SQL Server。 –

関連する問題