如果遇到某个表中的字段存着‘1,2,3,4’这种数字,要把他转为对应的汉字应该怎么处理呢
可以使用数据库自带函数解决这个问题,使用FIND_IN_SET函数
表结构:
假如有个用户表,里面包含用户以及用户拥有的书籍ID
CREATE TABLE work_business_users(
id INT NOT NULL AUTO_INCREMENT,
user_no VARCHAR(255),
user_name VARCHAR(255),
create_time timestamp(0),
books_id VARCHAR(255),
PRIMARY KEY (id)
);
书籍表
CREATE TABLE work_business_books (
id INT NOT NULL AUTO_INCREMENT ,
book_id VARCHAR(255),
book_name VARCHAR(255),
create_time timestamp(0),
PRIMARY KEY (id)
);
最终实现的SQL语句
SELECT
bu.id,
bu.user_no,
bu.user_name,
bu.books_id,
GROUP_CONCAT( bb.book_name ORDER BY FIELD( bb.book_id, 1, 2, 3, 4, 5 ) SEPARATOR ', ' ) AS book_name
FROM
work_business_users bu
LEFT JOIN work_business_books bb ON FIND_IN_SET( bb.book_id, bu.books_id )
GROUP BY
bu.id,
bu.user_no,
bu.user_name,
bu.books_id