-4

mysql で日付タイプを整数として選択することは可能ですか? .csv ファイルに出力しますか?

4

4 に答える 4

2

UNIX_TIMESTAMP()を使用して、日付を整数に変換します。

mysql> SELECT UNIX_TIMESTAMP();
        -> 1196440210
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
        -> 1196440219

CSV にエクスポートするには、SELECT...INTOを使用します。

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;
于 2013-04-02T17:17:12.073 に答える
1

はい、可能です。Unix_Timestamp 関数を参照してください: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

CSV ファイルへのエクスポートについては、http: //dev.mysql.com/doc/refman/5.0/en/select-into.htmlを参照してください。

于 2013-04-02T17:17:18.190 に答える
0

考えられる解決策は次の 3 つです。

  1. Unix タイムスタンプ
  2. 日付を表す数値
  3. 「エポック」からの経過日数

Unix タイムスタンプ

RedFilter が投稿したようunix_timestamp(date)に、Unix タイムスタンプの値を返します。これは、1970 年 1 月 1 日 00:00:00 UTC から経過した秒数を表す符号なし整数です。

日付を表す数値

場合によっては、日付を数値で表す必要があります。例: 201303312013 年 3 月 31 日。これは単にフォーマットの問題です。

select cast(date_format(date, `%Y%m%d') as int)

cast()およびdate_format()関数の適切な使用方法については、リファレンス マニュアルを参照してください。

「エポック」からの経過日数

特定の日 (2011 年 5 月 15 日など) からの経過日数をカウントする必要がある場合は、次のdatediff()関数が必要になります。

SELECT DATEDIFF('2013-03-31','2011-05-15')

datediff()関数の適切な使用方法については、リファレンス マニュアルを参照してください。

これがお役に立てば幸いです。

于 2013-04-02T17:48:26.997 に答える
0

以下を使用できます。

select UNIX_TIMESTAMP(date)
from MyTable

UNIX_TIMESTAMP

引数なしで呼び出された場合、Unix タイムスタンプ ('1970-01-01 00:00:00' UTC からの秒数) を符号なし整数として返します。UNIX_TIMESTAMP() が日付引数で呼び出された場合、引数の値を '1970-01-01 00:00:00' UTC からの秒数として返します。

于 2013-04-02T17:16:28.593 に答える