1

SELECT ステートメントのすべての列をキャストするのではなく、デフォルトで TIMESTAMP 値を UNIXTIMESTAMP として返すように MySQL を構成することは可能ですか?

4

3 に答える 3

1

MySQL には、日付を UNIX タイムスタンプに変換する機能があります。

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

mysql> SELECT UNIX_TIMESTAMP();
        -> 1196440210
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
        -> 1196440219
于 2013-03-19T16:43:33.347 に答える
0

同じデータの別のビューが必要なように聞こえます。

mysql> select * from t;
+------+---------------------+
| data | ts                  |
+------+---------------------+
| foo  | 2013-03-19 16:54:45 |
+------+---------------------+
1 row in set (0.00 sec)

mysql> select data, unix_timestamp(ts) from t;
+------+--------------------+
| data | unix_timestamp(ts) |
+------+--------------------+
| foo  |         1363712085 |
+------+--------------------+
1 row in set (0.00 sec)

mysql> create view tv (data, time_t) as select data, unix_timestamp(ts) from t;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from tv;
+------+------------+
| data | time_t     |
+------+------------+
| foo  | 1363712085 |
+------+------------+
1 row in set (0.00 sec)
于 2013-03-19T16:58:20.957 に答える