テーブルを作成するとき、今日の日付のchar(12)フィールドのデフォルト値を設定したいと思います。たとえば、 '2016-08-25'Informixは文字列のデフォルト値を現在の日付に設定します
Informixでこれを行うにはどうすればよいですか?
テーブルを作成するとき、今日の日付のchar(12)フィールドのデフォルト値を設定したいと思います。たとえば、 '2016-08-25'Informixは文字列のデフォルト値を現在の日付に設定します
Informixでこれを行うにはどうすればよいですか?
DEFAULT clause of CREATE TABLEでドキュメントを検索すると、デフォルト値になるオプションが非常に限られていることがわかります。
CREATE TABLE x(y CHAR(12) NOT NULL DEFAULT TODAY);
これは、セマンティック・エラー発生:
SQL -591: Invalid default value for column/variable (y).
拡大の意味があります。基本的には
The specified default value is the wrong type or is too long for a column or an SPL-routine variable.
To specify a valid default value for a column, use the DEFAULT clause in a CREATE TABLE statement. To specify a valid default value for a variable in an SPL routine, use the DEFAULT clause in a DEFINE statement.
をさらに
、許可されているものの型に基づいた制限がありますCHAR型の列に対してTODAYのデフォルトを作成することはできません。
DATE列(TODAYのデフォルトを有効に適用できる)を使用する方がはるかに簡単です。必要に応じて、その値を文字列として選択してください。ロケールやデータの表示など、細かいことがいくつかあります。値としてISO 8601形式の表記2016-08-25
が適用されるため、DATETIME YEAR TO DAYよりもDATEよりも優れています。