Date(DateTime)型フィールドの上限、下限日付

Ereshkigal
Tera Contributor

コミュニティの皆様
いつもお世話になっております。

ServiceNowでDate型など日付を入力するフィールドがあると思いますが、
入力の際、上限と下限日付は設けるべきなのでしょうか。

現時点だと、1000年や3000年など遥か過去や未来の日付まで
入力できてしまいますが、バックエンドDBMSの方でも
上記日付を認識しているのでしょうか。

お手数をおかけしますが、
ご確認をお願いいたします。

1 ACCEPTED SOLUTION

iwai
Giga Sage

ServiceNowのDatabaseはMySQL / MariaDBと昔から言われています。テーブルやフィールドはそのDB制限の影響を受けます。1000年や3000年もMySQLの制限に従います。ただしServiceNowのテーブルもフィールドもDBと同一の定義にはなっていません。DBとServiceNowの間で変換が行われたりもしています。その内部仕様は非公開であり、ServiceNowのVersionによって変わる事もあります。

Field type, MySQL DB type
Date/Time, DATETIME
Date and Date/Time fields (servicenow.com)

カレンダーの上限と下限に制限を設けるべきかは、基本的には不要と考えています。システムが壊れるような値が格納されることはありません。日時のフォーマットに整形されます。

あとはユーザー目線で制限してある方が親切かとは思いますので、その場の状況から優先度や手間を考えてカスタマイズすることで良いのではないでしょうか。

View solution in original post

1 REPLY 1

iwai
Giga Sage

ServiceNowのDatabaseはMySQL / MariaDBと昔から言われています。テーブルやフィールドはそのDB制限の影響を受けます。1000年や3000年もMySQLの制限に従います。ただしServiceNowのテーブルもフィールドもDBと同一の定義にはなっていません。DBとServiceNowの間で変換が行われたりもしています。その内部仕様は非公開であり、ServiceNowのVersionによって変わる事もあります。

Field type, MySQL DB type
Date/Time, DATETIME
Date and Date/Time fields (servicenow.com)

カレンダーの上限と下限に制限を設けるべきかは、基本的には不要と考えています。システムが壊れるような値が格納されることはありません。日時のフォーマットに整形されます。

あとはユーザー目線で制限してある方が親切かとは思いますので、その場の状況から優先度や手間を考えてカスタマイズすることで良いのではないでしょうか。