Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przekaż numer jako nazwę kolumny w wybranym zestawieniu Sql

Wybierasz wartość literału ciągu '5' dla każdego wiersza w Twojej tabeli:

select 5 from mytable_name;

I to działa dobrze. Ponieważ w SELECT oświadczenie, które możesz wybrać:

  • Odniesienie do kolumny,
  • Dosłowna wartość, jak w twoim przypadku.
  • Funkcja.
  • wyrażenie wartości.
  • Wybierz wyrażenie.

Zgodnie z definicją standardowego SQL:

Aktualizacja:

Jeśli jednak masz kolumnę z nazwą to liczba, tak jak w twoim przypadku, musisz ją zmienić, aby wybrać wartości w niej w następujący sposób:

 SELECT `143` FROM Table1;

Spowoduje to zaznaczenie wszystkich wierszy w kolumnie 143 .

Ale to:

 SELECT 143 FROM Table1;

Wybierze literał ciągu 143 dla każdego wiersza znalezionego w tabeli.

Pamiętaj, że: Jeśli to możliwe, staraj się nie nazywać tych kolumn w ten sposób, jest to zalecane i najlepszą praktyką, aby tego nie robić.

Pokaz SQL Fiddle

Aktualizacja 2:

Pamiętaj, że jeśli wybierzesz 143 lub '143' , a nawet "143" to wybierze wartość dosłowną 143 nie data kolumny. Poniższe są takie same:

SELECT 143 FROM Table1;
SELECT '143' FROM Table1;
SELECT "143" FROM Table1;

Wszystkie te SELECT s nie wybierze danych w kolumnie, wybierze wartość dosłowną 143 nie dane kolumny. Zobacz to demo:

Demo

Musisz zmienić nazwę kolumny na dwa:

``

Tak:

SELECT `143` FROM table1;

Nie:

SELECT '143' FROM table1'

Podobnie jak to, co zrobiłem tutaj:

Właściwe demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grupuj według daty tylko w kolumnie Datetime

  2. Jakie są najlepsze praktyki dotyczące obsługi stref czasowych w MySQL?

  3. Nie można zainstalować pakietu libmysqlclient-dev podczas budowania pliku docker z ubuntu

  4. Odmowa uprawnień wewnątrz /var/www/html podczas tworzenia strony internetowej i jej plików z serwerem apache2

  5. MySQL :pobierz duży wybór porcjami