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

Как работи функцията Time() в SQLite

SQLite има time() функция, която ви позволява да върнете стойност за време въз основа на времеви низ и всякакви модификатори.

Връща времето в този формат:HH:MM:SS

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

Синтаксис

Синтаксисът на time() функцията е така:

time(timestring, modifier, modifier, ...)

timestring аргументът трябва да е валиден времеви низ.

modifier аргументите са незадължителни. Можете да предоставите един или повече модификатори. Ако предоставите модификатор, той трябва да е валиден модификатор.

Пример

Ето основен пример за демонстриране на time() функция се използва с един аргумент.

SELECT time('now');

Резултат:

03:47:36

now времевият низ се преобразува в текущата дата и час. Като се има предвид, че използвам time() функция, се връща само частта от времето.

Добавяне на модификатор

Можем да променим предишния резултат с помощта на модификатор. Ето един пример.

SELECT time('now', '+5 hours');

Резултат:

08:48:24

В този случай добавих пет часа към времето.

Множество модификатори

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

SELECT time('now', '+5 hours', 'localtime');

Резултат:

18:50:08

localtime модификаторът предполага, че предоставеният низ от време е в универсално координирано време (UTC). След това настройва времевия низ, така че да показва местно време.

Следователно може да получите различен резултат в зависимост от вашето местно време.

Стрингов литерал като времеви низ

Горните примери използват now като времеви низ, но можете да предоставите всеки валиден времеви низ.

Ето няколко други примера.

SELECT time('1999-12-18 17:10:23');

Резултат:

17:10:23 

В този случай той просто премахва частта от датата от датата.

time() срещу strftime()

time() функцията връща точно същия резултат, който strftime('%H:%M:%S', ...) се завръща. time() функцията е просто по-удобен начин да го направите.

SELECT 
  time('now'),
  strftime('%H:%M:%S', 'now');

Резултат:

time('now')  strftime('%H:%M:%S', 'now')
-----------  ---------------------------
03:56:09     03:56:09                   

Период от време

Както при всички функции за дата и час на SQLite, time() работи само за дати между 0000-01-01 00:00:00 и 9999-12-31 23:59:59 (юлиански номера на дните от 1721059.5 до 5373484.5).

За дати извън този диапазон резултатите са недефинирани.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite - Импортиране на данни от CSV файл

  2. Как да актуализирате и изтриете списъка Преглед на данни в SQLite база данни с слушател на щракване?

  3. Поставяне на данни за курсора в масив

  4. Sqlite база данни актуализира ред на android

  5. Как да промените подканата на командния ред в SQLite