mysql 5.7以后支持json数据格式,如何取其中一个字段

mysql5.7以后,支持json格式的存储类型,当需要查询json字段中的某一个值时,不需要整体取出来,可以快捷取出json传中某一个字段

SELECT
	u.id,
	u.`name` userName,
	u.depart_id departId,
	d.`name` departName,
	u.post_id postId,
	p.`name` postName,
	json_extract(u.join_stuff,"$.joinDate") joinDate,  -- 这种方式会带双引号 "2020-04-24"
	u.join_stuff->>"$.joinDate" joinDate, -- 2020-04-24 
	JSON_UNQUOTE(JSON_EXTRACT(u.join_stuff,'$.joinDate')) joinDate -- 2020-04-24
FROM
	sys_user u
	LEFT JOIN sys_depart d ON d.id = u.depart_id
	LEFT JOIN sys_post p ON p.id = u.post_id 
WHERE
	u.staff_flag = 1

如上图SQL语句注解 其中join_stuff为user表中的json字段

你可能感兴趣的:(数据库操作,sql,数据库,mysql)