Премини към съдържанието
От 1-ви септември 2021 г., вход във форумите ще е възможен само с имейл адрес вместо потребителско име. Ако не помните имейла с който сте се регистрирали, вижте го в настройките на профила си. ×
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

     

python и sql форматиране на дата


borko81

Препоръчан отговор


sql-a е нещо подобно на това:

 

select name,date from table where date like '2014-09-25%'

% е заради текста които е в таблицата така махам ненужното.

 

днешната дата я взимам така:

 

today = strftime("%Y-%m-%d", gmtime())

 

проблема ми е в този синтаксис:

 

"select name,date from table where date like '%s%'" % today - заради вторият % се получаванекоректен формат.

 

Не мога да се сетя как да получа функциониращ ред?

Бихте ли помогнали Моля. 

Линк към коментара
Сподели в други сайтове

По-коректно е да търсиш съвпадение на дати със съответните функции на базата, която ползваш. В случая, LIKE не е добро решение най-малкото заради по-бавното изпълнение на заявката.

А и в какво се изразява некоректността заради втория "%"?

Линк към коментара
Сподели в други сайтове

А какъв  е проблема да ескейпнеш %-а? 

"select name,date from table where date like '%s%%'" % today
Линк към коментара
Сподели в други сайтове

По-коректно е да търсиш съвпадение на дати със съответните функции на базата, която ползваш. В случая, LIKE не е добро решение най-малкото заради по-бавното изпълнение на заявката.

А и в какво се изразява некоректността заради втория "%"?

Казвами, че имам incomplete format. A like го ползвам, за да мога да сръвня датата от таблицата с въведена от мене, в случая от "today", самата колона в таблицата е timestamp и в нея освен дата има и час, в случая знам само дадата, не и часа и не мога да ползвам: where date=2014-09-25 ( не е коректно)

Линк към коментара
Сподели в други сайтове

Казвами, че имам incomplete format. A like го ползвам, за да мога да сръвня датата от таблицата с въведена от мене, в случая от "today", самата колона в таблицата е timestamp и в нея освен дата има и час, в случая знам само дадата, не и часа и не мога да ползвам: where date=2014-09-25 ( не е коректно)

Мдам ... виж ми отговора. И разгледай в документацията на python как се екейпвват нещата и изобщо как се форматира стринг.


Линк към коментара
Сподели в други сайтове

Благодаря borovaka, така е супер, пробвах да го ескеипна с наклонена черта, не се бях сетих за %.

 

Опа, то това било форматиране на стринг в Python, пък мен ми се видя като чист SQL. :D

Линк към коментара
Сподели в други сайтове

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване