MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで日時から3時間を引く方法は?


次のいずれかの方法を使用して、MySQLのDateTimeから3時間を減算します。最初のアプローチは次のとおりです-

ケース1-DATE_ADD()の使用
select date_add(yourColumnName,interval -3 hours) from yourTableName;
ケース2-DATE_SUB()の使用
select date_sub(yourColumnName,interval 3 hours) from yourTableName;

まず、now()を使用して現在の日時を取得します-

mysql> select now();

以下は出力です-

+---------------------+
| now()               |
+---------------------+
| 2018-11-30 10:13:23 |
+---------------------+
1 row in set (0.00 sec)

DATE_ADD

DateTimeから3時間を引くためのクエリは次のとおりです。 date_addを使用して、負の日付を設定しました-

mysql> select date_add(now(),interval -3 hour);

以下は出力です-

+----------------------------------+
| date_add(now(),interval -3 hour) |
+----------------------------------+
| 2018-11-30 07:13:28              |
+----------------------------------+
1 row in set (0.00 sec)

DATE_SUB

現在の日付と時刻を取得する-

mysql> select now();

出力-

+---------------------+
| now()               |
+---------------------+
| 2018-11-30 10:14:12 |
+---------------------+
1 row in set (0.00 sec)

date_sub()を使用して2番目のメソッドを実装します。クエリは次のとおりです-

mysql> select date_sub(now(),interval 3 hour);

次の出力は、3時間を引いた日付を表示します-

+---------------------------------+
| date_sub(now(),interval 3 hour) |
+---------------------------------+
| 2018-11-30 07:14:25             |
+---------------------------------+
1 row in set (0.00 sec)

  1. MySQLの日時をUnixのタイムスタンプに変換する方法は?

    関数UNIX_TIMESTAMP()を使用して、MySQLの日付と時刻をUnixタイムスタンプに変換できます。 以下はクエリです。 SELECT UNIX_TIMESTAMP(STR_TO_DATE(Oct 19 2018 10:00PM, %M %d %Y %h:%i%p)); 上記のクエリを実行した後、以下の出力に示すような日付形式の出力は取得されません。ここに示されている出力はUnixタイムスタンプです。 +------------------------------------------------------------------------+ | UNIX_TIMES

  2. MySQLから最後の10行を選択するにはどうすればよいですか?

    MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(