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

Jak dodać miesiąc do daty w SQLite

Problem:

Chciałbyś dodać jeden miesiąc do podanej daty w bazie danych SQLite.

Przykład:

Nasza baza danych zawiera tabelę o nazwie production z danymi w kolumnach id , product i start_date .

id produkt data_początkowa
1 biurko 2019-08-17
2 fotel 2019-07-17
3 sofa 31.10.2019

Produkty mają nową datę rozpoczęcia produkcji, która jest o miesiąc późniejsza niż podana powyżej. Uzyskajmy nazwy produktów i ich nową datę rozpoczęcia.

Oto zapytanie, które napiszesz:

Rozwiązanie:

SELECT product,
  DATE(start_date,'+1 months')
  AS new_start_date
FROM production;

Oto wynik zapytania:

id produkt nowa_data_początkowa
1 biurko 2019-09-17
2 fotel 2019-08-17
3 sofa 2019-12-01

Dyskusja:

Użyj SQLite DATE() funkcja dodawania miesiąca do podanej daty (lub daty i godziny). Wymagane argumenty obejmują datę/data/godzinę zmiany oraz jeden lub więcej modyfikatorów z wartościami wskazującymi, ile jednostek należy dodać lub odjąć.

Pierwszym argumentem może być wyrażenie zwracające wartość daty/daty/godziny lub kolumna data/data/godzina. W naszym przykładzie jest to kolumna start_date .

Modyfikatory wskazują, jaką (i ile) jednostkę czasu dodać/odjąć. W naszym przykładzie używamy modyfikatora „+1 miesiąc ”. Modyfikator zaczyna się od plusa lub minusa, wskazując dodawanie lub odejmowanie. Następnie jest wartość (np. 1) i jednostka (np. miesiące , lata , dni itp.) Jeśli napiszesz „-2 dni ”, odejmujesz 2 dni od podanej daty.

Ważne: Niektóre modyfikatory wymagają nieco innej składni niż pokazano powyżej. Na przykład „dzień powszedni modyfikator ’ występuje przed wartością (np. DATE(start_date,'weekday 3') ). Inne modyfikatory nie przyjmują wartości, np. „początek miesiąca ’, który wyświetla pierwszy dzień miesiąca dla podanej daty (np. DATE(start_date,' start of month') ). Dokładne informacje o modyfikatorach daty i czasu można znaleźć w dokumentacji SQLite.

Nazwaliśmy nową kolumnę zawierającą zaktualizowaną datę rozpoczęcia new_start_date . Nowa data rozpoczęcia produkcji biurka jest 2019-09-17 , miesiąc później niż pierwotna data 2019-08-17 . Zauważ, że dla 2019-10-31 , nowa data to 2019-12-01; dzieje się tak, ponieważ listopad ma 30 dni, a nie 31.


No
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowuj nową pozycję elementów RecyclerView w SQLite po przeciągnięciu i upuszczeniu

  2. Jak mogę dodać nowe kolumny do bazy danych SQLite po wydaniu aplikacji na Androida?

  3. Nie można załadować bazy danych sqlite przy pierwszym uruchomieniu

  4. Sprawdź, czy ciąg kolumn w bazie danych jest podciągiem zapytania w sqlite

  5. Utwórz tabelę w SQLite