Jump to content
php.lv forumi

Recommended Posts

Posted

Sveiki, nevaru saprast ko daru nepareizi,

man ir ieraksti tabulā, kur katram ierakstam nāk klāt datums kas ir formātā (piem) 14.08.2015
es vēlos atlasīt ierakstus no līdz datuma

 
mēģināju šādi
 
SELECT * FROM mani_ieraksti 
WHERE datums >= '14.08.2015'
AND datums <= '15.08.2015'
 
rezūltātā izmet ierakstu arī no 07 mēneša, mēģināts bija arī ar 'between' , tas pats...
 
Paldies par palīdzību jau iepriekš!
Posted

Nu vari pamēģināt ar STR_TO_DATE()

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

 

Manuprāt šim vajadzētu strādāt

SELECT * FROM mani_ieraksti 
WHERE STR_TO_DATE(datums, '%d.%m.%Y') BETWEEN STR_TO_DATE("14.08.2015", '%d.%m.%Y') AND STR_TO_DATE("15.08.2015", '%d.%m.%Y')

Taču skaties cik ātri tas izpildās.

 

Pareizāk gan būtu tomēr, lai datums ir "date" vai "datetime" lauka tips. No pieredzes saku, ja ļausi saglabāt nestandartizētus datuma formātus gaidi pamatīgas problēmas ar galvassāpēm vēlāk.

 

Savukārt par to kā pārkonvertēt:

Izveido jaunu datuma laiku ar "date/datetime" tipu (var arī būt timestamp, bet es pēc iespējas cenšos izvairīties) piemēram "temp_datums".

Tad ar MySQL pieprasījumu pārkonvertē

UPDATE mani_ieraksti SET temp_datums = STR_TO_DATE(datums, '%d.%m.%Y');

Ja visi dati korekti pārnesās uz jauno data tipu, dzēs ārā veco "datums" colonu un nomaini "temp_datums" uz "datums".

Protams neaizmirsti, ka tagad datubāzē datums jāsaglabā jaunā formātā "Y-m-d" (vai "Y-m-d H:i:s"), tāpēc applikācijas kodā, kurš glabā ierakstus veic attiecīgas izmaiņas.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...