MySQL / cast()函数
场景:如何数字后的0去掉?

SELECT
IF(`repeat_indicator`=0,'临时医嘱','长期医嘱') '医嘱类型', `plan_time` '计划时间', `print_person` '执行护士', '' AS '核对护士',
(CASE `execute_type` WHEN 0 THEN '无效' WHEN 1 THEN '扫描执行' WHEN 2 THEN '手动执行' END) '执行方式', `reason` '执行原因',
GROUP_CONCAT(`order_text`) '医嘱内容', GROUP_CONCAT(CONCAT(0+CAST(`dosage` AS CHAR), `dosage_units`)) '剂量', `item_specification` '规格'
FROM `pat_inhos_order_group`
GROUP BY `plan_time`;
0+CAST(
dosageAS CHAR)
dosage:剂量值
0+:cast生成的字符串+0,MySQL将一个字符串隐式转换成一个整数
CAST(dosageAS CHAR):将类似100.0000,1.5000后边的0去掉,转化成100,1.5
实现效果

参考: https://www.yiibai.com/mysql/cast.html.
官方链接: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#function_cast.
本文介绍了MySQL中使用CAST()函数来去掉数字后面的0,通过将数值转化为字符串再进行隐式转换,可以有效实现数字的简化。例如,CAST(100.0000 AS CHAR)会转化为100,CAST(1.5000 AS CHAR)则转化为1.5。详细教程及官方文档链接可供参考。
3116

被折叠的 条评论
为什么被折叠?



