sql >> Database >  >> RDS >> Mysql

Een string opvragen uit de int-kolom?

Een optie is om CAST de 112 naar CHAR om een ​​goede match te krijgen:

WHERE CAST(id AS CHAR(12)) = '112abcdefg'

De 12 in CHAR is een gok; het moet groot genoeg zijn voor je grootste id .

Dat zal waarschijnlijk elke kans op optimalisatie doden, dus een andere optie (hoewel ik er niet 100% zeker van ben) is om een ​​BINARY te gebruiken vergelijking. Ik heb dit met een paar verschillende waarden geprobeerd en het werkt:

WHERE BINARY id = '112abcdefg'


  1. dynamische query postgre

  2. PostgreSQL 11 upgraden naar PostgreSQL 13 met TimescaleDB en PostGIS in Linux met pg_upgrade

  3. Toegang gebruiken als CRM

  4. Hoe een externe sleutelbeperking te maken met ON DELETE CASCADE in SQL Server - SQL Server / TSQL-zelfstudie, deel 80