SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Odejmij lata od daty w SQLite

W SQLite możemy użyć DATE() funkcja odejmowania jednego lub więcej lat od daty.

Dla wartości daty i godziny możemy użyć DATETIME() funkcja.

Przykład

Oto przykład, w którym użyto DATE() funkcja:

SELECT DATE('2050-08-21', '-1 year');

Wynik:

2049-08-21

Gdybyśmy chcieli dodać kwotę, moglibyśmy zastąpić - z + lub całkowicie go pominąć.

Lata możemy podać w liczbie mnogiej lub innej. Innymi słowy, year jest odpowiednikiem years :

SELECT 
    DATE('2050-08-21', '-5 year') AS year,
    DATE('2050-08-21', '-5 years') AS years;

Wynik:

year        years     
----------  ----------
2045-08-21  2045-08-21

Określone w miesiącach lub dniach

Alternatywnie możemy odjąć lata na podstawie liczby miesięcy lub dni:

SELECT 
    DATE('2050-08-21', '-12 months') AS "12 Months",
    DATE('2050-08-21', '-365 days') AS "365 Days";

Wynik:

12 Months   365 Days  
----------  ----------
2049-08-21  2049-08-21

DATETIME() Funkcja

W tym przykładzie użyto DATETIME() funkcja, aby zrobić to samo:

SELECT DATETIME('2050-08-21', '-1 year');

Wynik:

2049-08-21 00:00:00

W tym przypadku przekazałem wartość daty, ale funkcja zwróciła wartość daty i godziny.

Oto kolejny przykład, tym razem z wartością daty i godziny:

SELECT DATETIME('2050-08-21 18:30:45', '-1 year');

Wynik:

2049-08-21 18:30:45

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pokój - Korzystanie z zewnętrznych SQLites oraz wewnętrznej bazy danych

  2. Android — jak przekazać dane dotyczące dwóch tabel do metody wstawiania dostawcy treści?

  3. Niezgodność typu danych (kod 20) podczas wstawiania

  4. Jak zaktualizować/usunąć elementy z dwóch różnych tabel SQLite

  5. 2 sposoby zwracania wartości nienumerycznych w SQLite