Название: интересная фишка Mysql Отправлено: ser970 от 14 Февраля 2021, 09:23:08 mysql> SELECT (UNIX_TIMESTAMP('2021-02-01 00:00:00')-UNIX_TIMESTAMP('2021-01-01 00:00:00'))/86400;
+-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-02-01 00:00:00')-UNIX_TIMESTAMP('2021-01-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 31.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-03-01 00:00:00')-UNIX_TIMESTAMP('2021-02-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-03-01 00:00:00')-UNIX_TIMESTAMP('2021-02-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 28.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-04-01 00:00:00')-UNIX_TIMESTAMP('2021-03-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-04-01 00:00:00')-UNIX_TIMESTAMP('2021-03-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 30.9583 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-05-01 00:00:00')-UNIX_TIMESTAMP('2021-04-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-05-01 00:00:00')-UNIX_TIMESTAMP('2021-04-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 30.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-06-01 00:00:00')-UNIX_TIMESTAMP('2021-05-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-06-01 00:00:00')-UNIX_TIMESTAMP('2021-05-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 31.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-07-01 00:00:00')-UNIX_TIMESTAMP('2021-06-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-07-01 00:00:00')-UNIX_TIMESTAMP('2021-06-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 30.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-08-01 00:00:00')-UNIX_TIMESTAMP('2021-07-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-08-01 00:00:00')-UNIX_TIMESTAMP('2021-07-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 31.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-09-01 00:00:00')-UNIX_TIMESTAMP('2021-08-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-09-01 00:00:00')-UNIX_TIMESTAMP('2021-08-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 31.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-10-01 00:00:00')-UNIX_TIMESTAMP('2021-09-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-10-01 00:00:00')-UNIX_TIMESTAMP('2021-09-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 30.0000 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-11-01 00:00:00')-UNIX_TIMESTAMP('2021-10-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-11-01 00:00:00')-UNIX_TIMESTAMP('2021-10-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 31.0417 | +-------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT (UNIX_TIMESTAMP('2021-12-01 00:00:00')-UNIX_TIMESTAMP('2021-11-01 00:00:00'))/86400; +-------------------------------------------------------------------------------------+ | (UNIX_TIMESTAMP('2021-12-01 00:00:00')-UNIX_TIMESTAMP('2021-11-01 00:00:00'))/86400 | +-------------------------------------------------------------------------------------+ | 30.0000 | +-------------------------------------------------------------------------------------+ и обратное SELECT from_unixtime(UNIX_TIMESTAMP('2021-03-01 00:00:00')+(3600*24*31)); +-------------------------------------------------------------------+ | from_unixtime(UNIX_TIMESTAMP('2021-03-01 00:00:00')+(3600*24*31)) | +-------------------------------------------------------------------+ | 2021-04-01 01:00:00 | +-------------------------------------------------------------------+ 1 row in set (0.00 sec) Название: Re: интересная фишка Mysql Отправлено: goletsa от 14 Февраля 2021, 11:13:29 Количество дней в месяце? Или что?
Название: Re: интересная фишка Mysql Отправлено: Cell от 14 Февраля 2021, 12:23:56 Ну да, март и октябрь.... разница на 1 час
Что-то мне вангуется, что это связано с переходом на на летне-зимнее время Название: Re: интересная фишка Mysql Отправлено: 0xbad0c0d3 от 07 Апреля 2021, 16:47:37 только один вопрос: а нафига? )) я не помню, чтобы количество дней в месяце менялось и его нужно было каждый раз считать )) более того: причем тут mysql ))
с таким же успехом это и фишка bash+python, например)) Код: $ echo "print(round(($(date -d'2021-03-01' +%s)-$(date -d'2021-02-01' +%s)) / 86400))"|python3 Название: Re: интересная фишка Mysql Отправлено: ser970 от 07 Апреля 2021, 22:31:20 вообще то меняется.
28 != 29 (февраль) вычисляется чуть по другому но это так было написано в одном скрипте - просто переписал... сори (опять кнопки перепутал)... |