4

Sequel Pro インターフェイスで MySQL データベースを使用していますが、SQL は初めてです。csv ファイルからデータをインポートしようとしていますが、インポート先の列の 1 つが datetime 型です。ただし、データを受け取る形式は mm/dd/yy hh:mm AM/PM または null です。もともと、問題を回避するために列の型を varchar に変更しましたが、列に日時型と形式がない限り実行できないデータに対していくつかの日付関数を実行する必要があるため、方法が必要です受信データを適切な日時形式に変換します。

さらに、SQL やデータベースの知識がない人が import ステートメントを実行することになるため、mysql コマンド ラインに複雑なことを入力する必要がなく、単にファイルをクリックしてインポートできるようにすることをお勧めします。また、クエリを実行した後、データを同じ形式 (mm/dd/yy hh:mm AM/PM または null) でエクスポートする必要があります。

列のサンプル値を次に示します。

Completion Time
null
6/16/14 10:33 AM
null
null
6/16/14 13:03 PM
6/17/14 13:53 PM
6/18/14 14:38 PM
6/18/14 14:52 PM
6/19/14 13:13 PM
6/18/14 18:56 PM
6/18/14 19:02 PM
null

私が集めたおそらく単純な解決策は、数時間のグーグル検索からはそれほど良い考えではないかもしれません.それを適切なMySQL日付形式にしてから、日付関数を実行します。

とにかくどんな助けでも大歓迎です。

4

2 に答える 2

0

あなたの質問に対する本当の答え:

Sequel Pro インポートを実行している非技術者がいて、データ操作が必要な場合は、ユーザーが Excel シートをアップロードおよびダウンロードできるスクリプトを作成してインポート/エクスポートする必要があります。

でも...

Sequel Pro で日付をインポートする際にも同様の問題がありました。だからここに「半分」の解決策があります。それからあなたが望むものを取りなさい。

(注: この質問は 5 年前に尋ねられたものであるため、これは質問に出くわし、同様の Sequel Pro の問題に遭遇した人のためのものです。)

これは「半分」のソリューションです。

最初に Excel 内で DateTime を再フォーマットします。

  1. 列を選択
  2. [書式] > [セル] に移動します
  3. 「カスタム」を選択
  4. タイプには「yyyy-mm-dd hh:mm:ss」を使用します
  5. 「null」値には、「2099-01-01 00:00:00:00」のような明らかに間違った日付を入力してください。

Sequel Pro にインポートします。

  1. Sequel Pro を開く
  2. [表示] > [コンソールを表示] に移動します (Sequel Pro CSV インポートのクラッシュを避けるためにこれを行います)。
  3. データベース接続を開き、テーブルを選択します。
  4. CSV をインポートします。
  5. 発生したエラーに注意してください

インポート後にデータをクリーンアップします。 (これは半分の解決策だと言いました)

  1. Sequel Pro で次のクエリを実行します。 UPDATE your_table SET your_column = NULL WHERE your_column = '2099-01-01 00:00:00:00';
于 2020-01-08T18:25:59.907 に答える