SQLite: получить номер недели от даты

-4

Как я могу получить номер недели с даты, в SQL есть функция: Datepart (GetDate()), и это возвращает число недель. Как я могу получить это в SQLite?

  • 2
    Как этот вопрос связан с Java и Android?
  • 0
    Это очень широко. Что вызвал ваш поиск? Каким образом это было недостаточно или не удалось?
Показать ещё 5 комментариев
Теги:
date

2 ответа

2
Лучший ответ

Вы можете использовать функцию strftime со строкой формата (1-й параметр) в %W

как SQL, как понимается SQLite - функции даты и времени.

пример

DROP TABLE IF EXISTS getweek;
CREATE TABLE IF NOT EXISTS getweek (mydate TEXT);
INSERT INTO getweek VALUES ('2018-01-01'),('2018-02-01'),('2018-03-01');
SELECT *, strftime('%W',mydate) AS weekofyear FROM getweek;

Это приводит к: -

Изображение 166974

Примечание. Дата должна быть в одном из распознанных форматов даты/времени (например, 2018/03/01 приведет к нулевому значению, поскольку дата не находится в распознанном формате). См. Раздел " Временные строки " в приведенной выше ссылке для распознанных форматов.

  • 0
    К сожалению, эта документация не объясняет, какое определение недели используется этой функцией. Это может быть стандартная неделя ISO 8601 . Есть ли какая-либо конкретная документация, которую вы можете связать / процитировать в своем ответе?
0

Вы можете использовать соответствующий спецификатор формата с помощью strftime().

Подробные сведения см. В разделе " Функции даты и времени SQLite".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню