0

ケース:

「YYYYMMDD」形式で変更されていない日付の const 形式を保存する必要がありますか?

20120201 20110101 などのテキスト ファイルで const データを取得します。テーブル フィールドに配置する必要があります。

(高速クエリのために日付のように保存したい)

mysqlは「日付」タイプで直接サポートしていると思います

テーブル:

id|   mydate   |
-------------------
1 |  20120201  |
2 |  20110101  |

ありがとう

4

2 に答える 2

1

DATE型フィールドに格納できるMySQLの日付に変換するには:

$original = 20120924;
$mysql_format = substr($original, 0, 4) . '-' . substr($original), 4, 2) . '-' . substr($original, 6, 2);

お役に立てば幸いです。

(オプションで、高速な結果を得るためにタイムスタンプ形式のINTとして保存できます。strtotime();を使用して$mysql_formatをタイムスタンプに変換するだけです。)

于 2012-09-24T22:48:41.690 に答える
1

MySQL の日付型として保存します。ダッシュなしで情報を照会する必要がある場合は、次のような MySQL 置換関数を使用します。

REPLACE(date_column,'-','') as 'const_date'


挿入/更新時に const_date を mysql 日付形式に変換するには、次のように SUBSTR で MySQL CONCAT を使用します。

CONCAT(
      SUBSTR(const_date, 1, 4)
    , ','    
    , SUBSTR(const_date, 5, 2)
    , ','
    , SUBSTR(const_date, 7, 2)
) as 'mysql_date'

(PHP とは異なり、MySQL は最初の文字位置にゼロ インデックスを使用しません)

于 2012-09-24T23:09:50.363 に答える