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

推薦する

コードレイン効果を実現するJavaScriptキャンバス

この記事では、コードレイン効果を実現するためのキャンバスの具体的なコードを参考までに共有します。具体...

CSSリンクと@importの違いの詳細な説明

HTML に CSS を追加するにはどうすればいいですか? HTML で CSS を設定する方法は ...

Nodeはバックエンドの実装手順を素早く構築します

1. まず、node、express、express-generator をインストールします (4...

シンプルなページカウントダウンを実現するJavaScript

この記事では、参考までに、シンプルなページカウントダウンを実装するためのJavaScriptの具体的...

Reactでコンポーネントを作成する方法

目次序文コンポーネントの紹介クラスコンポーネントの作成状態についてレンダリングについて関数コンポーネ...

WebプロジェクトのDockerデプロイメントの実装

前回の記事では、docker サービスをインストールしました。引き続き、Web プロジェクトのデプロ...

linuxdeployqt を使用して Ubuntu で Qt プログラムをパッケージ化する問題を解決する

いくつかの Qt インターフェース プログラムを作成しましたが、Qt 環境がインストールされていない...

Mysql5.7 のルートパスワードを忘れた場合の対処法 (シンプルで効果的な方法)

前回の記事では、MySQL 5.7でルートパスワードを忘れた場合と、MySQL 5.7でルートパスワ...

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...

Vueを使用して天気コンポーネントをロードする方法の詳細な説明

この記事では、Vueを使用して天気コンポーネントをロードする方法を参考までに紹介します。具体的な内容...

MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開

MySQL バージョン 5.5 および 5.6 を標的とする Riddle 脆弱性により、中間者攻撃...

Vue で v-for を更新する方法

ヒント:配列変更メソッドによりv-forが更新され、ページが更新されます。配列を変更しないメソッド:...

JS クロスドメイン ソリューション React 構成 リバース プロキシ

クロスドメインソリューションjsonp (get をシミュレート) CORS (クロスオリジンリソー...

Nofollowタグの書き方と使い方

「nofollow」タグは数年前に Google、Yahoo、Microsoft によって提案されま...

httpsウェブサイトにリファラーhttpsとhttpジャンプリファラーを送信させる方法

この記事では、HTTP プロトコルのリファラーのメタデータ パラメータの提案について説明します。この...