○COALESCEを使ってください。
○「空白」よりも「null値である」と言ったほうが明確か。てっきりU+0020とか空文字列かと思いそうになったorz
★SQL-92
●(Second Informal Review Draft) ISO/IEC 9075:1992, Database Language SQL- July 30, 1992
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
- COALESCE (V1, V2) is equivalent to the following <case
CASE WHEN V1 IS NOT NULL THEN V1 ELSE V2 END
- COALESCE (V1, V2, . . . ,n ), for n >= 3, is equivalent to the following :
CASE WHEN V1 IS NOT NULL THEN V1 ELSE COALESCE (V2, . . . ,n ) END
○||はあるが、CONCATはそもそもない! Firebirdにもない。
○character string literalはシングルクオートで括るようだ。
★HSQLDB
●Chapter 10. Built In Functions
http://hsqldb.org/doc/guide/builtinfunctions-chapt.html#bfc_general_functions
COALESCE
COALESCE( <value expr 1>, <value expr 2> [, …] )
Returns <value expr 1> if it is not null, otherwise returns <value expr 2> if not null and so on. The type of both arguments must be comparable. (Foundation)
●同上
http://hsqldb.org/doc/guide/builtinfunctions-chapt.html#bfc_string_binary_functions
CONCAT
CONCAT ( <char value expr 1>, <char value expr 2> [, …] )
CONCAT ( <binary value expr 1>, <binary value expr 2> [, …] )
The arguments are character strings or binary strings. Returns a string formed by concatenation of the arguments. Minimum number of arguments is 2. Equivalent to the SQL concatenation expression <value expr 1> || <value expr 2> [ || …] .
Handling of null values in the CONCAT function depends on the database property sql.concat_nulls ( SET DATABASE SQL SYNTAX CONCAT NULLS { TRUE || FALSE } ). By default, any null value will cause the function to return null. If the property is set false, then NULL values are replaced with empty strings. (いつ指定するのか確信が持てない。これ自体はテーブルとしての結果を返さないという趣旨のエラーが出た)
○オマケ(当方環境ではGUIでうまくいかない。Javaから呼ばないと駄目?)
(JDBC)
CONCAT_WS
CONCAT_WS ( , <char value expr 1>, <char value expr 2> [, …] )
The arguments are character strings. Returns a string formed by concatenation of the arguments from the second argument, using the separator from the first argument. Minimum number of arguments is 3. Equivalent to the SQL concatenation expression <value expr 1> || || <value expr 2> [ || …] . The function ignores null values and returns an empty string if all values are null. It returns null only if the separator is null.
This function is similar to a MySQL function of the same name.
★Firebird
CONCATという関数自体ありません。使えません。演算子を使え、ということですね。
http://firebirdsql.org/refdocs/langrefupd25-intfunc.html
なのだが、
http://firebirdsql.org/refdocs/langrefupd25-concat.html
演算子の引数がNULLだった場合の記述がないorz
辛うじて見つけたのが以下。
http://www.firebirdfaq.org/faq21/
●COALESCE() は当然ある。
http://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-functions-scalarfuncs.html#fblangref25-functions-scalarfuncs-coalesce
Description: The COALESCE function takes two or more arguments and returns the value of the first non-NULL argument. If all the arguments evaluate to NULL, the result is NULL.
○オマケ
http://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-background.html
Dynamic SQL (DSQL)
Procedural SQL (PSQL)
Embedded SQL (ESQL)
Interactive SQL (ISQL)
P.S. 画像に必要な3ポイントってどこで獲得できるのかなあ…折角撮ったんだけどなあ…