Mysql
 sql >> база данни >  >> RDS >> Mysql

TIMESTAMP() Примери – MySQL

В MySQL, TIMESTAMP() функцията връща стойност за дата и час въз основа на предадените аргументи. Можете да предоставите един или два аргумента. Ако предоставите две, той добавя втория към първия и връща резултата.

Синтаксис

Можете да използвате една от тези две форми:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

Първият аргумент (expr и expr1 ) е израз за дата или време. Вторият аргумент (expr2 ) е времеви израз. Ако предоставите два аргумента, expr2 се добавя към expr1 и резултатът е стойност за дата и час.

Пример 1 – Предоставете аргумент „дата“

В този пример предоставям израз за дата.

SELECT TIMESTAMP('1999-12-31');

Резултат:

+-------------------------+
| TIMESTAMP('1999-12-31') |
+-------------------------+
| 1999-12-31 00:00:00     |
+-------------------------+

Така че резултатът е стойност за дата и час, независимо дали нашият аргумент е израз за дата или време.

Пример 2 – Предоставете аргумент „datetime“

И ето пример за използване на израз за дата и час.

SELECT TIMESTAMP('1999-12-31 23:59:59');

Резултат:

+----------------------------------+
| TIMESTAMP('1999-12-31 23:59:59') |
+----------------------------------+
| 1999-12-31 23:59:59              |
+----------------------------------+

Пример 3 – Включете дробни секунди

Можете също да включите част от секунди до микросекунди (6 цифри). Когато направите това, резултатът ще включва и тази част.

SELECT TIMESTAMP('1999-12-31 23:59:59.999999');

Резултат:

+-----------------------------------------+
| TIMESTAMP('1999-12-31 23:59:59.999999') |
+-----------------------------------------+
| 1999-12-31 23:59:59.999999              |
+-----------------------------------------+

Пример 4 – Предоставяне на 2 аргумента

Ето пример, използващ два аргумента. Както споменахме, вторият се добавя към първия.

SELECT TIMESTAMP('1999-12-31', '12:30:45');

Резултат:

+-------------------------------------+
| TIMESTAMP('1999-12-31', '12:30:45') |
+-------------------------------------+
| 1999-12-31 12:30:45                 |
+-------------------------------------+

Пример 5 – По-големи стойности на „времето“

Типът данни за времето може да има диапазон от -838:59:59 до 838:59:59 . Това е така, защото не се ограничава само до представяне на времето от деня. Може да се използва и за представяне на изминало време. В този случай го използваме, за да добавим голям брой часове към стойност за дата.

SELECT TIMESTAMP('1999-12-31', '400:30:45');

Резултат:

+--------------------------------------+
| TIMESTAMP('1999-12-31', '400:30:45') |
+--------------------------------------+
| 2000-01-16 16:30:45                  |
+--------------------------------------+

Пример 6 – Отрицателни стойности

Можете да извадите втория аргумент от първия, просто като поставите пред втората стойност знак минус.

SELECT TIMESTAMP('1999-12-31', '-400:30:45');

Резултат:

+---------------------------------------+
| TIMESTAMP('1999-12-31', '-400:30:45') |
+---------------------------------------+
| 1999-12-14 07:29:15                   |
+---------------------------------------+

Пример 7 – Използване на текущата дата

Ако искате времева марка, която използва текущата дата, може да се интересувате повече от функции като NOW() , CURDATE() и вероятно дори SYSDATE() (за разликата вижте SYSDATE() срещу NOW() ).

Въпреки това, TIMESTAMP() функцията все още може да бъде предпочитаната от вас функция в определени случаи, например ако искате да добавите стойност за час към текущата дата.

SELECT 
    TIMESTAMP(CURDATE()) AS 'Today',
    TIMESTAMP(CURDATE(), '24:00:00') AS 'Tomorrow';

Резултат:

+---------------------+---------------------+
| Today               | Tomorrow            |
+---------------------+---------------------+
| 2018-07-03 00:00:00 | 2018-07-04 00:00:00 |
+---------------------+---------------------+

Функция TIMESTAMPADD()

Можете да използвате TIMESTAMPADD() функция за добавяне на определена единица към стойност на дата или час. Тази функция приема и единици като дни, месеци, години и т.н.

Ако намерите TIMESTAMP() твърде ограничаващ за вашите нужди, вижте TIMESTAMPADD() Примери.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите броя на дните в месеца в MySQL

  2. Как да извършите групирано класиране в MySQL

  3. Въведение във Firebase

  4. Кое е най-доброто съпоставяне за MySQL с PHP?

  5. SQL Buddy – уеб базиран инструмент за администриране на MySQL