sql >> Database teknologi >  >> RDS >> Mysql

Er 1 altid lig med '1' i SQL?

VÆLG 1='1' giver TRUE siden '1' er en korrekt konstruktør for INT i al implementering kendt af mig.

Men SQL bruger streng indtastning, se det:

# SELECT 1=CAST('1' SOM TEKST);FEJL:operator findes ikke:heltal =tekstLINJE 1:SELECT 1=CAST('1' SOM TEKST); ^TIP:Ingen operator matcher det givne navn og argumenttype(r). Du skal muligvis tilføje eksplicitte casts. 

Med hensyn til standarden (SQL 92, 99 &2003) ser det ud til at være forkert:

::= | ::= | | | | | ::=[ ] ::= | ::= [ [ ] ] | ::=... ::=[ ] [ ... ] [ { ... [ ... ] }... ]

fordi er kun indeholdt i , , ... men ikke i numeriske bogstaver...



  1. Uendelig PHP mens loop

  2. Sådan importeres/gendannes MySql-tabeller ved hjælp af PHP

  3. Kan ikke logge ind på SQL Server med Windows-godkendelse

  4. Redigering af postproblemer i Access / SQL (Write Conflict)