Có hai cột trong bảng MySQL: SUBJECT
và YEAR
.
Tôi muốn tạo một số duy nhất gồm cả chữ và số chứa dữ liệu được nối từ SUBJECT và YEAR.
Tôi có thể làm cái này như thế nào? Có thể sử dụng một toán tử đơn giản như thế +
nào?
Có hai cột trong bảng MySQL: SUBJECT
và YEAR
.
Tôi muốn tạo một số duy nhất gồm cả chữ và số chứa dữ liệu được nối từ SUBJECT và YEAR.
Tôi có thể làm cái này như thế nào? Có thể sử dụng một toán tử đơn giản như thế +
nào?
Câu trả lời:
Bạn có thể sử dụng CONCAT
chức năng như sau:
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
Cập nhật:
Để có được kết quả đó, bạn có thể thử cách này:
SET @rn := 0;
SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
SUBJECT
, ''), '-', IFNULL ( YEAR
, ''), '-', LPAD (@rn: = @ rn + 1,3, '0')) TỪtable
Bạn có thể sử dụng php được xây dựng trong CONCAT () cho việc này.
SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;
thay đổi tên đã nộp theo yêu cầu của bạn
sau đó kết quả là
và nếu bạn muốn kết hợp cùng một trường đã nộp bằng cách sử dụng trường khác thì
SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1
Trong php, chúng ta có hai tùy chọn để nối các cột trong bảng.
Tùy chọn đầu tiên sử dụng Truy vấn
Trong truy vấn, từ khóa CONCAT được sử dụng để nối hai cột
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
Tùy chọn thứ hai sử dụng ký hiệu (.)
Sau khi tìm nạp dữ liệu từ bảng cơ sở dữ liệu, hãy gán các giá trị cho biến, sau đó sử dụng ký hiệu (.) Và nối các giá trị
$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;
Thay vì gạch dưới (_), chúng ta sẽ sử dụng dấu cách, dấu phẩy, chữ cái, số..vv
SELECT CONCACT(SUBJECT, ' ', YEAR)
thực sự đã giúp tôi ra ngoài. +1