szczabik
29.04.2009, 20:09:17
Witam
Mam pytanie czy da się od razu w mysql w zapytaniu wyciągnąć wartość z kolumny mam np. w bazie kolumnę news i w niej taką treść
test test <km>13</km> tetet tet test I chciał bym odraz w zapytaniu dostać wartość z znacznika <km></km> czyli 13. Wiem że jest REGEXP w mysql ale czy za pomocą tego da się tak zrobić ?
tornax
29.04.2009, 21:57:33
... oK ...
Dlaczego nie stworzysz dla tej samej tabeli nowej kolumny 'km' ? Będziesz mógł tam zapisywać podane kilometry i bezproblemowo je odczytywać.
Co do REGEXP - ucziciwie mówią nawet nie miałem nigdy potrzeby aby po niego sięgać, jeżeli musisz uciekać do takich sztuczek to może oznaczać, że aktualny projekt bazy jest kiepski i należało by go zmienić (dodając dodatkową kolumnę).
Chociażby dlatego, że używanie wyrażeń regularnych to obciążanie procesora a złota zasada mówi, że nie warto obliczać/generować wielokrotnie jednej i tej samej infromacji. Poza tym dyski z miesiąca na miesiąc tanieją i mają coraz większe pojemności ... w przeciwieństwie do procesorów.
Jeżeli te dane masz już wgrane na serwer to zmodyfikuj tabele i wpuść jakieś zapytanie które Ci to ładnie wszystko zmodyfikuje (zapewne będziesz potrzebował REGEXP'a wtedy)
Jeżeli te dane dodajesz juz z takimi znacznikami <km></km> to postaraj się na etapie dodawania wyizolować te kilometry (z poziomu MySql lub PHP jeżeli korzystasz)