Elvis L Posted September 2, 2015 Report Posted September 2, 2015 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.2015es 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š! Quote
e-remit Posted September 2, 2015 Report Posted September 2, 2015 Kāds tips ir laukam `datums`? Nav gadījumā VARCHAR? Quote
Elvis L Posted September 2, 2015 Author Report Posted September 2, 2015 (edited) ehh ir gan kā man tagad veiksmīgi pārkonvertēt ierkastus? Edited September 2, 2015 by Elvis L Quote
kasisppr Posted September 2, 2015 Report Posted September 2, 2015 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. Quote
Elvis L Posted September 3, 2015 Author Report Posted September 3, 2015 Liels paldies, par izsmeļošo atbildi, ņemšu vērā Jūsu ieteikumus Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.