Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển số làm tên cột trong câu lệnh chọn của Sql

Bạn đang chọn một giá trị chữ của chuỗi '5' cho mỗi hàng trong bảng của bạn:

select 5 from mytable_name;

Và điều này hoạt động tốt. Bởi vì trong SELECT câu lệnh bạn có thể chọn:

  • Tham chiếu cột,
  • Giá trị theo nghĩa đen như trong trường hợp của bạn.
  • Chức năng.
  • biểu thức giá trị
  • .
  • Chọn biểu thức.

Theo định nghĩa của SQL tiêu chuẩn:

Cập nhật:

Tuy nhiên, nếu bạn có một cột có tên là một số như trong trường hợp của bạn, bạn phải thoát khỏi cột đó để chọn các giá trị trong đó như sau:

 SELECT `143` FROM Table1;

Thao tác này sẽ chọn tất cả các hàng trong cột 143 .

Nhưng, điều này:

 SELECT 143 FROM Table1;

Sẽ chọn chuỗi ký tự 143 cho mỗi hàng được tìm thấy trong bảng.

Lưu ý rằng: Nếu có thể, hãy cố gắng không đặt tên các cột này theo cách này, đó là khuyến nghị và cách tốt nhất, không nên làm điều này.

SQL Fiddle Demo

Cập nhật 2:

Lưu ý rằng, nếu bạn chọn 143 hoặc '143' , hoặc thậm chí "143" điều này sẽ chọn giá trị chữ 143 không phải ngày cột. Những điều sau đây đều giống nhau:

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

Tất cả SELECT này s sẽ không chọn dữ liệu trong cột, Họ sẽ chọn giá trị chữ 143 không phải dữ liệu cột. Xem bản trình diễn này:

Bản trình diễn

Bạn phải thoát khỏi tên cột bằng hai:

``

Như thế này:

SELECT `143` FROM table1;

Không phải:

SELECT '143' FROM table1'

Giống như những gì tôi đã làm ở đây:

Bản trình diễn phù hợp



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận hàng gần đây nhất với nhóm theo và Laravel

  2. Tương đương của varchar (max) trong MySQL?

  3. tại sao chúng ta cần kết hợp trái và phải

  4. Tôi nhận được nhiều select @@ session.tx_read_only, một cái có làm như vậy không?

  5. sử dụng mysql SUM () trong mệnh đề WHERE