2024 Autor: Peter John Melton | [email protected]. Naposledy změněno: 2023-12-16 04:44
Při odstraňování problému s programováním jsem si všiml, že nemůžete použít vyhledávání LIKE pro řetězcové sloupce obsahující speciální znaky jako% nebo _ bez použití speciální syntaxe. Zjištění problému trvalo jen několik minut, ale zapamatování syntaxe je vždy snadnější, když o něm píšete.
Takže ano, tento příspěvek je výhradně pro můj prospěch. Doufejme, že to pomůže i někomu jinému.
Řekněme, že chcete najít pole, která obsahují text "100%", takže tento dotaz sestavujete takto:
SELECT * FROM tablename WHERE fieldname LIKE ‘%100%%’
Místo toho, co jste chtěli, získáte všechny řádky, které obsahují "100", stejně jako řádky obsahující "100%".
Problém je, že SQL Server používá znaky procenta, podtržítka a hranaté závorky jako zvláštní znaky. Jednoduše je nemůžete použít jako obyčejný znak v dotazu LIKE, aniž byste je unikli.
Úhel náměstí
Můžete obklopit% nebo _ s hranatými závorkami, abyste SQL serveru uvedli, že znak uvnitř je pravidelný znak.
SELECT * FROM tablename WHERE fieldname LIKE ‘%100[%]%’
Syntaxe T-SQL ESCAPE
Případně můžete připojit operátor ESCAPE k dotazu a přidat hodnotu before hodnota, kterou chcete uniknout.
SELECT * FROM tablename WHERE fieldname LIKE ‘%100\%%’ ESCAPE ‘’
Část dotazu "ESCAPE" dotazu říká, že stroj SQL interpretuje znak za jako písmenný znak namísto jako zástupný znak.
Osobně se jedná o druhou metodu, s níž se lépe zabývám, a můžete ji použít i k tomu, abyste unikli náměstí.
Doporučuje:
Obnovit hodnotu sloupce identit v SQL Serveru
Pokud používáte sloupec identity v tabulkách serveru SQL Server, můžete nastavit další hodnotu vložky na libovolnou požadovanou hodnotu. Příkladem je, chcete-li začít s číslováním sloupce ID u 1000 místo 1.
Odesílání oznámení o automatickém e-mailu práce v serveru SQL Server s protokolem SMTP
Když máte automatizované úlohy zálohování spuštěné na databázovém serveru, někdy zapomenete, že dokonce běží. Poté zapomenete zkontrolovat, zda jsou úspěšně spuštěné, a neuvědomujete si, až dojde k selhání databáze a nemůžete ji obnovit, protože nemáte aktuální zálohu.
Proč anglické znaky potřebují méně bajtů, aby je reprezentovali než znaky v jiných abecedách?
Zatímco většina z nás asi nikdy nepřestala přemýšlet o tom, abecední znaky nemají stejnou velikost v počtu bajtů, které jsou potřebné k jejich reprezentaci. Ale proč je to tak? Dnešní příspěvek SuperUser Q & A má odpovědi na otázku zvědavé čtenáře.
Dávkový skript pro zálohování všech databází serveru SQL Server
Již jsme se zabývali zálohováním databáze SQL Server z příkazového řádku, takže co když chcete zálohovat všechny vaše databáze najednou? Můžete vytvořit dávkový skript, který spouští příkaz pro každou databázi, ale tento skript by musel být aktualizován při každém přidání nebo odebrání databáze. Dále budou zálohy databáze připojeny k jednomu souboru, který bude při každé spuštění růst podle velikosti nové zálohy. Místo toho ve skutečné "set it and forget it" módu vy
Uzamčeno ze serveru Plex Server a nastavení serveru? Zde je oprava!
Pokud jste uzamčeni z Plex Serveru a nastavení serveru, přestože je vaše uživatelské jméno a heslo správné, pak tento příspěvek vám pomůže vyřešit problém v systémech Windows i Linux. Tyto návrhy použijte k opětovnému přístupu.