Automatický trim u porovnávání řetězců rubrika: Databáze: SQL

7 Andreaw Fean
položil/-a 1.8.2018

Ahoj.

Mám následující SQL:

SELECT *
FROM t
WHERE x = 'lorem ipsum:'

A ono mi to vyhledá i x = 'lorem ipsum: ', tedy s mezerou na konci. Prostě to ořízne. Jakto? Nevíte co s tím?

Databáze MySQL (10.1.18-MariaDB)

Komentáře

  • podhy : použít postgres kterej to u varchar nedělá :-) ale to si asi nechtěl slyšet :-) 1.8.2018
odkaz Vyřešeno
7 integer
odpověděl/-a 1.8.2018
 
upravil/-a 1.8.2018

Je to vlastnost. Nedávno na tohle téma upozorňoval zdroják na svém twitteru. https://twitter.com/zdrojak/status/1023539017487474689 Najdeš tam spoustu rad a tipů: https://twitter.com/i/moments/1023587883607908353

Komentáře

  • Andreaw Fean : Aha. Tak to je blbý. Nedá se to nějak vypnout? Protože mě napadá jenom to, přidávat si tam na začátek a konec nějaký speciální znak. 1.8.2018
  • Taco : Leda změnit typ na BLOB. 1.8.2018
  • Taco : Je ta vlastnost něčím odůvodněná, nebo se to prostě stalo? 3.8.2018
  • Andreaw Fean : Taky by mě zajímalo. 5.8.2018
  • tomasgrosup : A nestačí si tam přidat podmínku na délku řetězce? Přidat AND length(x) = ... z aplikačního kodu 9.8.2018
  • Kit : @tomasgrosup: Stačí jen lehounce přetypovat: WHERE x = BINARY 'lorem ipsum:' 9.8.2018

Pro zobrazení všech 4 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.