SQLite CASE / WHEN - числовой запрос

Прежде всего,

    pip install --trusted-host pypi.python.org <package name>

не работал для меня. Я продолжал получать ошибку CERTIFICATE_VERIFY_FAILED. Однако в сообщениях об ошибках я заметил ссылку на сайт «pypi.org». Таким образом, я использовал это как имя доверенного хоста вместо pypi.python.org. Это почти привело меня туда; нагрузка все еще не срабатывала с CERTIFICATE_VERIFY_FAILED, но в более поздней точке. Поиск ссылки на сайт, который был неудачным, я включил его в качестве доверенного хоста. В конечном итоге для меня это было:

    pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package name>
-1
задан alex 16 January 2019 в 16:30
поделиться

2 ответа

Используйте приведенное ниже условие, которое проверяет наличие нецифровых символов и длину усеченного значения Installation:

CASE 
  WHEN
    (NOT TRIM(Installation) GLOB '*[^0-9]*') AND (LENGTH(TRIM(Installation)) > 0)
  THEN CAST(TRIM(Installation) AS BIGINT)
END

Обратите внимание, что тип данных BIGINT в SQLite на самом деле INTEGER (целое число от 1 до 8 байт).

0
ответ дан forpas 16 January 2019 в 16:30
поделиться

Почти тот же ответ:

CASE 
  WHEN
    (NOT TRIM(Installation) GLOB '*[^0-9]*') AND TRIM(Installation) like '_%'
  THEN CAST(TRIM(Installation) AS BIGINT)
END AS intInstallation

Объяснение:

  • [^0-9] = каждый символ, который не является числом
  • С NOT вы получить все установки, у которых нет символа, который не является числом
  • подстановочный знак '_%': _ один символ один раз и % 0 или более любого символа.

После вашего редактирования я смотрю на запрос:

THEN CAST(TRIM(shortcycle0_.Installation) AS shortcycle0_.BIGINT)

Замените его на:

THEN CAST(TRIM(shortcycle0_.Installation) AS BIGINT)
0
ответ дан Daniel E. 16 January 2019 в 16:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: