我试图从mySQL查询中返回一组字符串值。然后在' /'字符(它们都包含在内)。最后在' /'之前划分值。字符,由其后面的值组成。
我尝试将SUBSTRING转换为INT和几个DECIMAL变体。任何帮助都感激不尽。
"
CAST(
CAST(
SUBSTRING(
customerfeedback.total_score,
0, LOCATE('/', table.column_a-1)
)AS DECIMAL(6,3)
)
/
CAST(
SUBSTRING(
customerfeedback.total_score,
LOCATE('/', table.column_a+1), LENGTH(table.column_a)
)AS DECIMAL(6,3)
)
AS DECIMAL(6,3)
)
"
答案 0 :(得分:0)
使用substring_index
提取分子和分母部分并在分区中使用它们。
示例:
select
@str:='225/12',
@n:=substring_index( @str, '/', 1 ) numerator,
@d:=substring_index( @str, '/', -1 ) denominator,
@n/@d quotient;
以上示例的结果:
+----------------+-----------+-------------+----------+
| @str:='225/12' | numerator | denominator | quotient |
+----------------+-----------+-------------+----------+
| 225/12 | 225 | 12 | 18.75 |
+----------------+-----------+-------------+----------+
您可以根据需要投射或舍入商数。