- 1
"SELECT * FROM tbl_entries WHERE date LIKE '%%%04d.%02d.%02d%%' " % (y, m, d)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−46
"SELECT * FROM tbl_entries WHERE date LIKE '%%%04d.%02d.%02d%%' " % (y, m, d)
база тут не причем
(а че, есть базы, в которых формат даты вот так вот фиксирован, а не управляется локалью инстанса, локалью сессии и фазой луны? снова mysql?)
Да и вообще.
Ну чо сразу Гитлер MySQL? Не ну серьёзно, нормальная БД.
не надо так делать
и байтов больше занимает, и не ищется, и не арифметизируется
ЗЫ даты и скл. у меня с этим делом только одна ассоциация - to_char(). first you ignore the to_char(). then you laugh at to_char(). then you fight with to_char(). then to_char() wins.
Перебирать по всем вариантам времени было слишком долго, так что оптимизировали как могли.
мы тут все зеленым пишем
зачем ты "2016.06.03T12:03:23.537Z" хранишь как строку?
Профессор?
http://www.netlore.ru/upload/files/19/123755961387.jpg
Черно-зеленый экран это вообще круто, взять хотя бы калькуляторы Электроника
А вот в NetBSD консоль зеленая была одно время:
https://mail-index.netbsd.org/netbsd-users/2015/10/28/.attachments/jpg07WWRu7tt8.jpg
Кстати, далеко не все шлют "2016.06.03T12:03:23.537Z", некоторые раньше слали "2016-02-12T08:03:03Z" и долго ли у них продлится это, я не знаю.
и ведь тогда придется решать задачу десериализации данных, приходящих в json! это немыслимо!
и вместо того, чтобы потратить процессорное время 1 раз за время жизни записи на этапе десериализации и вставки уже корректного типа в БД, ты желаешь тратить процессорное время тысячи раз, когда эта строка читается в бд таким образом
посмотри на богатство и разнообразие форматов ISO 8601, оба твоих варианта входят в перечень
почему я более чем уверен, что в напитоне это уже всё есть (разбор ISO 8601 строки)
Попробуем угадать, что тут происходит. Строка уж больно похожа на формат printf. Предположим, что тут как раз и происходит применение шаблона к аргументам (я не питонист, поправьте меня, если вру). Тогда %% — это тупо знак процента, %04d — это целое число, дополненное нулями до четырёх знаков, %02d — это целое число, дополненное нулями до двух знаков. Пусть y = 2016, m = 6, d = 3. Тогда строка развернётся в такую: Знак % для оператора LIKE означает любой символ. Т. е. если в базе будет лежать 'kokoko2016.06.03kud-kudach', то условие будет соблюдено.
Капитан Очевидность доклад закончил.
К сожалению, такие олигофрены встречаются очень часто. Не даром же тут ходит шутка про OHara
Это как вообще? Вообще говнокодик что-то прокачался. Раньше тут бд старались не обсуждать лет 5 назад.
Одному PHPшнику рассказали про XSS. С тех пор он всегда делает ``htmlspecialchars`` для всех входящих данных, и пишет их в БД уже ввиде энититей. Зато при выводе он всегда может сделать <?=$data;?> и все будет безопасно.
А потом его попросят вывести данные в PDF, вот тут-то и появится OHara
питонист бы юзал prep. statement и передавал туда date
в пхп тоже юзают prep. statements
Хаха, сука, под столом. Аж живот заболел
https://ru.wiktionary.org/wiki/huis