sql >> Databáze >  >> RDS >> Mysql

MySQL automaticky přenáší/převádí řetězec na číslo?

Odpovědi na vaše první tři otázky jsou:ano, ano a ne.

Když je řetězec 'text' převede na číslo, stane se z něj hodnota 0 .

Dokumentace, která popisuje konverzi typů, je zde .

Pro váš dotaz:

SELECT table.* 
FROM table 
WHERE id='text';

Pravidlo vystihuje tento výňatek z dokumentace:

Ve všech ostatních případech jsou argumenty porovnávány jako čísla s plovoucí desetinnou čárkou (reálná).

Jinými slovy, toto je ve skutečnosti ekvivalentní:

WHERE id = 0.0


  1. Aktualizace nebo vložení (více řádků a sloupců) z poddotazu v PostgreSQL

  2. Jak vytvořit jedinečné omezení pro více sloupců v SQL Server - SQL Server / TSQL výukový program, část 96

  3. Count(*) vs Count(1) - SQL Server

  4. Jak zastavit/spustit databázovou poštovní frontu na serveru SQL Server (T-SQL)