Autor Zpráva
Michales
Profil
Ahoj všem.
Měl bych otázku jestli lze následující udělat pouze pomoci sql dotazu bez použiťí php.

Mam sloupec 1 a sloupec 2.

1          |             2
The ABC    |       
A ABC      |         
An ABC     |        
ABC        |

Nyní k dotazu, chtěl bych pomoci sql dotazu docílit toho, že do sloupce 2 se zapíše jen vše co je za The, A a An. Žádné jiné "předložky" nebudou, jen tyto.
Lze tohoto docílit jen pomocí sql dotazu?
Díky za radu či za sestavení přímo sql dotazu.
Keeehi
Profil
UPDATE table SET sloupec2 = nejaka_funkce(sloupec1)
Tu nějakou funkci si sestavíš z dev.mysql.com/doc/refman/5.7/en/string-functions.html
Michales
Profil
Keeehi:
Napadá mě použít funkci Trim. Je to tak správně?
Keeehi
Profil
Michales:
Trim ořezává po znacích. Pokud víš, že žádný název, který má zůstat nezačíná jedno z ATnhe pak by to použitelné bylo. Jinak ne.
Michales
Profil
Keeehi:
Poradis prosim jakou funkci pouzit tedy?
Jeste me napada funkce substring ale to dela take neco jineho nez bych potreboval.
Jan Tvrdík
Profil
Michales:
Co třeba takto

UPDATE `table`
SET `column2` =
CASE
  WHEN `column1` LIKE 'the %' THEN SUBSTR(`column1`, 4)
  WHEN `column1` LIKE 'an %' THEN SUBSTR(`column1`, 3)
  WHEN `column1` LIKE 'a %' THEN SUBSTR(`column1`, 2)
  ELSE `column1`
END;
Michales
Profil
Jan Tvrdík:
Děkuji, zdá se to býti funkční.
Michales
Profil
Ještě bych se rád zeptal, proč mi tento dotaz neprojde v acessu?
Háže mi to chybu že chybí operátor v dotazovém výrazu case.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0