Navicatブログ

Navicatでの日付と時刻のフォーマット設定 2023年12月1日 Robert Gravelle

Navicatサポートがユーザーから受け取る最も一般的な質問の1つは、グリッドとフォーム ビューで日付と時刻をフォーマットする方法です。実はとてもシンプルなんです!今日のブログでは、Navicat Premium で日付と時刻の形式をグローバルに変更する手順について説明します。

Navicatで表示形式を定義する場所

日付と時刻の表示形式は、“オプション”ダイアログの“レコード”画面にあります。メインメニューの“ツール” -> “オプション...”コマンドからアクセスできます:

options_command (43K)

“レコード”画面の“表示形式”セクションで、日付、時刻、DateTimeの形式を確認できます(赤い枠線で強調表示されています):

date_and_time_display_formats_on_the_records_screen (70K)

フォーマットの設定

例として、Sakilaサンプルデータベースを使用して、DateTime形式を更新してみましょう。そのテーブルの多くには、監査目的で使用されるlast_updateと呼ばれるDateTimeフィールドが含まれています。actorテーブルの次のスクリーンキャプチャでそれを確認できます(これも赤い枠線で強調表示されています):

last_update_column_in_sakila_actor_table (120K)

デフォルトでは、Navicatはデータベースで定義されている形式で日付と時刻を表示します。MySQLの場合、DateTime値は「YYYY-MM-DD hh:mm:ss」形式(例えば、「2019-10-12 14:35:18」)と表示されます(24時間時計が使用されていることに注意してください)。.

標準のSQLおよびODBCの日付と時刻リテラル

「YYYY-MM-DD hh:mm:ss」文字列の文字の意味がわからないなら、これらの文字は標準SQLおよびODBCの日付と時刻リテラルの一部です。これらは、SQLクエリで日付と時刻の値を表す標準化された方法です。これらは、SQLステートメントで日付と時刻の値を指定するための、一貫したプラットフォームに依存しない方法を提供します。各文字パターンとその意味のリストは次のとおりです。Navicatも日付と時刻の形式を設定するためにこれらを使用するため、これらについてよく理解しておくとよいでしょう:

  • c - システムグローバル変数で指定された形式で日付を表示し、その後にシステムグローバル変数で指定された形式で時刻を表示します。日付時刻の値が午前0時を正確に示している場合、時刻は表示されません。
  • d - 日付を、先頭にゼロを付けない数値(1~31)で表示します。
  • dd - 日付を、先頭にゼロを付けた数値(01~31)で表示します。
  • ddd - 曜日を、略語(Sun-Sat)で表示します。
  • dddd - 曜日を、完全名(Sunday-Saturday)で表示します。
  • ddddd - 日付を、システムグローバル変数で指定された形式で表示します。
  • dddddd - 日付を、システムグローバル変数で指定された形式で表示します。
  • m - 月を、先頭にゼロを付けない数値(1~12)で表示します。m指定子がhまたはhh指定子の直後にある場合は、月ではなく分が表示されます。
  • mm - 月を、先頭にゼロを付けた数値(01~12)で表示します。mm指定子がhまたはhh指定子の直後にある場合は、月ではなく分が表示されます。
  • mmm - システムグローバル変数で指定された文字列を使用して、月を省略形(Jan-Dec)で表示します。
  • mmmm - システムグローバル変数で指定された文字列を使用して、月を完全名(January-December)で表示します。
  • yy - 年(西暦)を、2桁の数字(00~99)で表示します。
  • yyyy - 年(西暦)を、4桁の数字(0000~9999)で表示します。
  • h - 時間を、先頭にゼロを付けずに表示します(0~23)。
  • hh - 時間を、先頭にゼロを付けて表示します(00~23)。
  • n - 分を、先頭にゼロを付けずに表示します(0~59)。
  • nn - 分を、先頭にゼロを付けて表示します(00~59)。
  • s - 秒を、先頭にゼロを付けずに表示します(0~59)。
  • ss - 秒を、先頭にゼロを付けて表示します(00~59)。
  • t - 時刻を、システムグローバル変数で指定された形式で表示します。
  • tt - 時刻を、システムグローバル変数で指定された形式で表示します。
  • am/pm - 前述のhまたはhh指定子には12時間制を使用し、正午より前の時間には「am」を表示し、正午以降の時間には「pm」を表示します。am/pm指定子は小文字、大文字、または大文字と小文字の混合を使用でき、それに応じて結果が表示されます。
  • a/p - 前述のhまたはhh指定子には12時間制を使用し、正午より前の時間には「a」を表示し、正午以降の時間には「p」を表示します。a/p指定子は小文字、大文字、または大文字と小文字の混合を使用でき、それに応じて結果が表示されます。
  • ampm - 前述のhまたはhh指定子に12時間制を使用し、正午より前の時間にはシステムグローバル変数の内容を表示し、正午以降の時間にはシステムグローバル変数の内容を表示します。
  • / - 日付区切り文字。一部のロケールでは、日付区切り文字を表すために他の文字が使用される場合があります。
  • : - 時刻区切り文字。一部のロケールでは、時刻区切り文字を表すために他の文字が使用される場合があります。
  • 'xx'/"xx" - 一重引用符または二重引用符で囲まれた文字は、書式変更されずにそのまま表示されます。

ここで、グローバルのNavicat DateTime形式を変更して、先頭にゼロが付かない数値の日、3文字の月の略称、およびAM/PMインジケーターを使用した12時間時計を使用してみましょう。

上記の手順をガイドとして使用すると、「mmm d, yyyy hh:mm:ss AM/PM」という形式の文字列が得られます。次のように入力すると、出力フィールドに結果がリアルタイムで表示されます:

output_field (16K)

確認ボタンをクリックしてオプションダイアログを閉じると、全てのDateTimeフィールドでカスタムのDateTime形式が使用されるようになります。前述のactorテーブルのlast_update列は次のとおりです:

last_update_column_in_sakila_actor_table_with_new_format (73K)

新しい形式は全てのデータベースにグローバルに適用されることに注意してください。これを確認するために、classicmodelsデータベースのordersテーブルを見てみましょう。これには3つのDateTime列が含まれていますが、日付部分のみを設定しています。これらの列にも、新しい形式に従って値が表示されます:

classicmodels_orders_table_with_new_format (146K)

結論

このブログでは、オプションダイアログで日付と時刻の形式をグローバルに簡単に変更する方法を学びました。今日は Navicat Premium を使用しましたが、Navicat for MySQLやNavicat for SQL Serverなどの他のNavicat製品もまったく同じように動作します。

ブログのアーカイブ
シェア