Oznámení
Omlouváme se, provoz fóra byl ukončen
Funkce REPLACE() v SQLite
Upozornění: Tohle vlákno je hodně staré.
před 10 lety
- David Grudl
- Nette Core | 6806
V databázi SQLite 2 chybí poměrně užitečná funkce REPLACE() pro úpravu textů.
SELECT REPLACE('dibiphp.com', 'dibi', 'nette');
-> 'nette.org'
Existuje ale řešení, jak ji doplnit:
function sqliteReplace($s, $from, $to)
{
return str_replace($from, $to, $s);
}
// pripojime se k databázi
$conn = dibi::connect('driver=sqlite&database=database.sdb');
// zaregistrujeme PHP funkci sqliteReplace() se třemi parametry jako SQLite function REPLACE()
$conn->driver->registerFunction('REPLACE', 'sqliteReplace', 3);
// použijeme v příkazu
$conn->query("UPDATE table SET text = REPLACE(text, 'dibi', 'nette')");