MySQL から Excel にテーブルデータをエクスポートする際の日時形式に関する簡単な説明

MySQL から Excel にテーブルデータをエクスポートする際の日時形式に関する簡単な説明

最近、MySQL を使用してテーブル データを Excel ファイルにエクスポートしました。MySQL の datetime タイプが Excel (Excel 2016) にエクスポートされ、Excel によって独自の既定の日付形式として認識されました。MySQL の形式は yyyy-mm-dd hh:mm:ss のようなものです。しかし、Excel では yyyy/m/dh:mm になり、見慣れません。もちろん、Excel セル形式を設定することで、カスタム形式 yyyy-mm-dd hh:mm:ss に変更することもできますが、これには余分な手順が追加されます。MySQL で表示されるスタイルで、MySQL から Excel に直接エクスポートできますか?もちろん。

最初は、MySQL のフィールドが datetime 型なので、Excel にエクスポートした後、Excel が自動的に日付型に変換するので、MySQL の date_format 関数を使用して datetime を文字列に変換でき、問題はないだろうと考えました。結果は同じで、Excel もこの標準の日付文字列形式を日付形式として認識すると推測したため、エクスポート ステートメントに文字列の日付を追加して、推測が正しいことを確認しました。そこで、このデフォルトの日付形式を破って、見た目を同じにすることを考えました。date_format を使用して文字列に変換するときに、先頭にスペースを追加したところ、問題は完全に解決しました。

テストテーブルとテストデータ

テーブル「users」を作成します(
 `username` varchar(255) NOT NULL,
 `create_time` 日時 NOT NULL
)ENGINE=InnoDB デフォルト文字セット=utf8;
 
# テストデータを挿入 INSERT INTO `users`(`username`, `create_time`) VALUES 
 ('李思', '2018-10-11 15:54:23'),
 ('張三'、'2018-10-12 15:54:14');

Excel ステートメントをエクスポートします。DATE_FORMAT 関数の形式の前にスペースが追加されていることに注意してください (テーブル形式は utf8 であるため、Excel を開いた後にコードが文字化けしないようにするには、形式を gbk に変換する必要があります)

選択
 ユーザー名、
 DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') 
ユーザーから 
 出力ファイル '/tmp/user_info.xls' へ 
 文字セット gbk;

これで完了です。エクスポートされた Excel では日付が日付形式として認識されなくなり、テキスト形式になるため、希望するスタイルで日付を表示できます。

補足知識: Excel ファイルを Navicat Premium にインポートすると日付が 0000-00-00 になる問題の解決方法

質問

シナリオによっては、ローカル ファイルを Navicat にインポートする必要があります。今日遭遇した問題は、Excel ファイルを正常にインポートした後、Excel では元々正しかった日付フィールドが Navicate では「0000-00-00 00:00:00」になってしまったことです。これは本当に信じられません。

分析する

観察してみると、Excel では日付フィールドが完全に表示されないようだということがわかりました。例えば、本来は 2018/10/1 0:01:42 だったのですが、Excel では 01:42.0 と表示されていました。そこで、Excel で列のセルの書式を変更して Navicate に再インポートしてみたところ、問題は解決しました。詳細な解決策については以下を参照してください。

回避策

1. インポートする前に、Excel でセルの書式を変更し、カスタムに設定し、yyyy/m/dh:mm:ss と入力してファイルを保存します。

2. ファイルをNavicateに再インポートします。

上記の記事では、MySQL から Excel にテーブル データをエクスポートする際の日時形式の問題について簡単に説明しています。これは、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL における Datetime と Timestamp の使用の概要
  • MySQL における datetime と timestamp の違いと選択
  • MySQL における datetime と timestamp の違いと使い方
  • MySQL で datetime 型のデフォルト値を設定する方法
  • MySQL データベースで datetime 型を作成する方法

<<:  シンプルなカルーセルの最も完全なコード分析を実装するJavaScript(ES6オブジェクト指向)

>>:  DockerでMySQLマスタースレーブ環境を構築する方法の詳しい説明

推薦する

jQuery タグセレクターの適用例の詳細な説明

この記事では、jQueryタグセレクターアプリケーションの具体的なコードを例として紹介します。具体的...

MySQL 8.0の落とし穴の詳細な説明

本日、MySQL 8.0 をアップデートしました。最初の問題: Navicatがデータベースに接続で...

初心者がソースコードからMySQLのデッドロック問題を理解する

夜遅くまで何度も困難なシングルステップデバッグを行った後、ようやく理想的なブレークポイントを見つけま...

CSS で透明なグラデーション効果を実装するためのサンプルコード

Zhihu Discovery コラムのタイトル画像は、通常、以下のように表示されます。明らかに、グ...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...

ノードを使用して静的ファイルキャッシュを実装する方法

目次キャッシュキャッシュ位置の分類キャッシュ設定ヘッダーNodeは静的ファイルキャッシュを実装する強...

MySQLデータのエクスポートとインポートに関する知識ポイントの簡単な分析

多くの場合、ローカル データベースのデータをエクスポートしたり、他のデータベースからデータをインポー...

スクロールバーを非表示にする HTML の簡単な実装

1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...

jQueryはアコーディオンの小さなケースを実装します

この記事では、アコーディオンを実装するためのjQueryの具体的なコードを参考までに紹介します。具体...

xshellを使用してLinuxサーバーに接続する

xshellを使用してLinuxに接続する利点Windows環境でLinuxを直接操作できるインター...

Docker実行コンテナが作成状態にある問題についての簡単な説明

最近の問題としては、次のような現象があります。システムには、docker run コマンドを継続的に...

CSS で中空マスク レイヤーを実装するサンプル コード

この記事の内容: ページ中空マスクレイヤー、ページ中空マスクガイドレイヤー、画像中空マスク通常のマス...

MySQL InnoDB row_id 境界オーバーフロー検証方法の手順

背景クラスメートと row_id の境界問題について話し合ったので、ここで詳しく説明します。 Inn...

CSS でショートカット プロパティを記述する際は、トラブルの順序に注意してください (落とし穴を避けるため)

ショートハンドプロパティは、複数のプロパティに同時に値を割り当てるために使用されます。たとえば、fo...

MySQL 8.0.11 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0のインストールと設定方法は参考までに。具体的な内容は以下のとおりです。ダウンロード...