มีสองคอลัมน์ในตาราง MySQL: SUBJECT
และYEAR
.
ฉันต้องการสร้างหมายเลขเฉพาะที่เป็นตัวอักษรและตัวเลขซึ่งเก็บข้อมูลที่ต่อกันจาก SUBJECT และ YEAR
ฉันจะทำเช่นนี้ได้อย่างไร? เป็นไปได้ไหมที่จะใช้ตัวดำเนินการง่ายๆเช่น+
?
มีสองคอลัมน์ในตาราง MySQL: SUBJECT
และYEAR
.
ฉันต้องการสร้างหมายเลขเฉพาะที่เป็นตัวอักษรและตัวเลขซึ่งเก็บข้อมูลที่ต่อกันจาก SUBJECT และ YEAR
ฉันจะทำเช่นนี้ได้อย่างไร? เป็นไปได้ไหมที่จะใช้ตัวดำเนินการง่ายๆเช่น+
?
คำตอบ:
คุณสามารถใช้CONCAT
ฟังก์ชั่นดังนี้:
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
อัปเดต:
เพื่อให้ได้ผลลัพธ์นั้นคุณสามารถลองสิ่งนี้:
SET @rn := 0;
SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
SUBJECT
, ''), '-', IFNULL ( YEAR
, ''), '-', LPAD (@rn: = @ rn + 1,3, '0')) จากtable
คุณสามารถใช้ php ที่สร้างขึ้นใน CONCAT () สำหรับสิ่งนี้
SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;
เปลี่ยนชื่อไฟล์ตามความต้องการของคุณ
แล้วผลลัพธ์ก็คือ
และหากคุณต้องการต่อไฟล์เดียวกันโดยใช้ฟิลด์อื่นที่เหมือนกัน
SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1
ใน php เรามีสองตัวเลือกในการต่อคอลัมน์ในตาราง
ตัวเลือกแรกโดยใช้แบบสอบถาม
ในแบบสอบถามคำหลักCONCATใช้เพื่อเชื่อมสองคอลัมน์เข้าด้วยกัน
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
ตัวเลือกที่สองโดยใช้สัญลักษณ์ (.)
หลังจากดึงข้อมูลจากตารางฐานข้อมูลแล้วให้กำหนดค่าให้กับตัวแปรจากนั้นใช้สัญลักษณ์ (.)และเชื่อมค่าเข้าด้วยกัน
$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;
แทนที่จะใช้ขีดล่าง (_) เราจะใช้ช่องว่างลูกน้ำตัวอักษรตัวเลข .. ฯลฯ
ในแบบสอบถามCONCAT_WS()
ฟังก์ชัน
ฟังก์ชันนี้ไม่เพียง แต่เพิ่มค่าสตริงหลายค่าและทำให้เป็นค่าสตริงเดียว นอกจากนี้ยังให้คุณกำหนดตัวคั่น (”“,”,“,” -“,” _“ ฯลฯ )
ไวยากรณ์ -
CONCAT_WS( SEPERATOR, column1, column2, ... )
ตัวอย่าง
SELECT
topic,
CONCAT_WS( " ", subject, year ) AS subject_year
FROM table
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');
SELECT CONCACT(SUBJECT, ' ', YEAR)
ช่วยฉันได้จริงๆ +1