Sie wählen einen String-Literalwert '5'
aus für jede Zeile in Ihrer Tabelle:
select 5 from mytable_name;
Und das funktioniert gut. Denn im SELECT
Anweisung können Sie auswählen:
- Spaltenreferenz,
- Literalwert wie in Ihrem Fall.
- Funktion.
- Wertausdruck.
- Ausdruck auswählen.
Wie von Standard-SQL definiert:
Aktualisierung:
Wenn Sie jedoch eine Spalte mit einem Namen haben, der eine Zahl ist, wie in Ihrem Fall, müssen Sie sie maskieren, um die Werte darin wie folgt auszuwählen:
SELECT `143` FROM Table1;
Dadurch werden alle Zeilen in der Spalte 143
ausgewählt .
Aber das hier:
SELECT 143 FROM Table1;
Wählt das Zeichenfolgenliteral 143 für jede in der Tabelle gefundene Zeile aus.
Beachten Sie Folgendes: Versuchen Sie nach Möglichkeit, diese Spalten nicht auf diese Weise zu benennen. Es wird empfohlen und ist eine bewährte Vorgehensweise, dies nicht zu tun.
SQL-Fiddle-Demo
Aktualisierung 2:
Beachten Sie dies, wenn Sie 143
auswählen oder '143'
, oder sogar "143"
Dadurch wird der Literalwert 143
ausgewählt nicht das Spaltendatum. Die folgenden sind gleich:
SELECT 143 FROM Table1;
SELECT '143' FROM Table1;
SELECT "143" FROM Table1;
Alle diese SELECT
s wählt nicht die Daten in der Spalte aus, sondern den Literalwert 143
nicht die Spaltendaten. Siehe diese Demo:
Demo
Sie müssen den Spaltennamen mit den beiden maskieren:
``
So:
SELECT `143` FROM table1;
Nicht:
SELECT '143' FROM table1'
Wie das, was ich hier gemacht habe:
Die richtige Demo