"DELETE FROM tidning WHERE tidnnr='1096'" är helt korrekt SQL, fast tidnnr är numerisk.
Är det verkligen så? Jag har alltid trott att runt numeriska värden så ska det inte vara några apostrofer, men jag kanske har fel?
6 svar · 946 visningar · startad av Peeer
"DELETE FROM tidning WHERE tidnnr='1096'" är helt korrekt SQL, fast tidnnr är numerisk.
Är det verkligen så? Jag har alltid trott att runt numeriska värden så ska det inte vara några apostrofer, men jag kanske har fel?
Inga apostrofer kring numeriska värden är det som gäller enligt standard.
Det beror lite grann på. Råkar det vara ett numeriskt värde som lagrats i en varchar/text-kolumn i tabellen, så ska det vara apostrofer runt. (Men det kanske inte behöver vara det då?)
Jag låter alltid fälttypen bestämma om jag ska använda apostrofer runt eller inte.
Är fälten av taltyp skall man inte ha apostrofer runt värdena, även om man i vissa fall kan (om man använder SQL Server till exempel).
Mvh
Ok, så påståendet att apostrofer runt numeriska värden som ska jämföras med en numerisk fälttyp skulle vara korrekt SQL är alltså felaktig? Är detta korrekt uppfattat?
Mvh
Svar ja.
Tack!
Dessutom: '1096' < '9' för '1' kommer före '9' på samma sätt som 'a' kommer före 'i'. Medan, givetvis, 9 < 1096. Det spelar alltså stor roll vid jämförelse.