私は試してみました:select文でNULL値を含む可能性のある2つの列を連結する方法はありますか?
SELECT CONCAT(col1, col2) AS NewCol FROM tableName
をそれはcol1とcol2ののいずれかがnullでない場合でも、col1とcol2のがnullでない場合にのみ、他のニューコールがゼロになります。利用可能な値を表示するようにします。
私は試してみました:select文でNULL値を含む可能性のある2つの列を連結する方法はありますか?
SELECT CONCAT(col1, col2) AS NewCol FROM tableName
をそれはcol1とcol2ののいずれかがnullでない場合でも、col1とcol2のがnullでない場合にのみ、他のニューコールがゼロになります。利用可能な値を表示するようにします。
使用CONCAT_WS
。
SELECT CONCAT_WS('', col1, col2) AS NewCol FROM tableName
これは、両方の値がnull
ある場合に空の文字列を返します。
ドキュメント:
CONCAT_WS(セパレータ、STR1、STR2、...)
CONCAT_WS())(セパレータを連結の略で、CONCATの特殊な形式です。最初の引数は、残りの引数の区切り文字です。セパレータは、連結される文字列の間に追加されます。区切り文字は、残りの引数と同様に文字列にすることができます。セパレータがNULLの場合、結果はNULLになります。
CONCAT_WSを使用できます。そのNULLセーフです。最初の引数はセパレータです。
サンプル
MariaDB [l]> SELECT CONCAT_WS('',NULL,'123');
+--------------------------+
| CONCAT_WS('',NULL,'123') |
+--------------------------+
| 123 |
+--------------------------+
1 row in set (0.00 sec)
MariaDB [l]>
使用することもでき
SELECT ISNULL([col1],'') + ISNULL([col2],'') AS NewCol FROM tableName