Du väljer ett bokstavligt strängvärde '5'
för varje rad i din tabell:
select 5 from mytable_name;
Och det här fungerar bra. Eftersom i SELECT
uttalande kan du välja:
- Kolumnreferens,
- Ordagrant värde som i ditt fall.
- Funktion.
- värdeuttryck.
- Välj uttryck.
Enligt definitionen av standard SQL:
Uppdatering:
Men om du har en kolumn med ett namn är ett nummer som i ditt fall, måste du escape den för att välja värdena i den så här:
SELECT `143` FROM Table1;
Detta kommer att välja alla rader i kolumnen 143
.
Men detta:
SELECT 143 FROM Table1;
Väljer strängen literal 143 för varje rad som finns i tabellen.
Observera att: Om möjligt, försök att inte namnge dessa kolumner på det här sättet, det rekommenderas och en bästa praxis att inte göra detta.
SQL Fiddle Demo
Uppdatering 2:
Observera att om du väljer 143
eller '143'
, eller till och med "143"
detta kommer att välja det bokstavliga värdet 143
inte kolumndatumet. Följande är desamma:
SELECT 143 FROM Table1;
SELECT '143' FROM Table1;
SELECT "143" FROM Table1;
Alla dessa SELECT
s kommer inte att välja data i kolumnen, de kommer att välja det bokstavliga värdet 143
inte kolumndata. Se denna demo:
Demo
Du måste undkomma kolumnnamnet med de två:
``
Så här:
SELECT `143` FROM table1;
Inte:
SELECT '143' FROM table1'
Som det jag gjorde här:
Rätt demo