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マスタースレーブ環境を構築する方法の詳しい説明

推薦する

Nginx+SpringBoot による負荷分散の実装例

負荷分散の概要Nginx の負荷分散実装を紹介する前に、負荷分散の分類について簡単に説明します。負荷...

MySQLでデータをエクスポートするいくつかの方法の詳細な説明

MySQL データをエクスポートする目的は、データベースのバックアップ、テーブル構造のエクスポート、...

jsは双方向データバインディング(アクセサ監視)を実現します

この記事の例では、双方向データバインディングを実現するためのjsの具体的なコードを参考までに共有して...

最新バージョンMySQL5.7.19 解凍版インストールガイド

MySQL バージョン: MySQL Community Edition (GPL) ------ ...

データベース復旧エラーの原因となる MySQL 文字セットの簡単な分析

MySQL の文字セットエンコーディングが正しくないデータをインポートすると、エラーが表示されます。...

Docker でタイムゾーンの問題に対処する方法

背景ここ 2 日間 Docker を使用していたところ、コンテナの起動後に date -R の出力タ...

MySQLの整数データ型tinyintの詳細な説明

目次1.1Tinyint型の説明1.2 練習環境の説明1.3 未署名属性の追加1.3.1 SQLモー...

Hadoop におけるネームノードとセカンダリネームノードの動作メカニズムの説明

1) プロセス 2) FSImageと編集NodeNode は HDFS の頭脳です。ファイルシステ...

CentOS7.6 システムで yum を使用して lnmp 環境を構成する方法

1. インストールバージョンの詳細 サーバー: MariaDB サーバーバージョン: 5.5.60-...

Mysql と Oracle でよく使用される複数テーブルの変更ステートメントの概要

今日、SQLトレーニングの質問バンクでこの質問を見ました。これは、非常に代表的なマルチテーブル変更の...

ウェブページヘッダーの最適化の提案

ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...

MySQLはカスタム関数を使用して親IDまたは子IDを再帰的に照会します

背景: MySQL では、レベルに制限がある場合、たとえば、ツリーの最大深度を事前に決定できる場合、...

優れたウェブフロントエンドデザインの指標

Web ページのアクセシビリティは、フロントエンドでのみ評価および実装できるもののようです。ユーザビ...

開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]

システム パフォーマンスの専門家である Brendan D. Gregg 氏は、LinuxCon N...

すべてまたは逆の選択機能を実現するJavaScript

この記事では、全選択または選択を反転する機能を実現するためのJavaScriptの具体的なコードを参...