gpt4 book ai didi

MySQL:将德语字符串转换为浮点/小数

转载 作者:行者123 更新时间:2023-11-29 19:25:39 31 4
gpt4 key购买 nike

在 MySQL 表中,我有一个具有不同值的 VARCHAR 列,这些值可能代表字符串、整数、浮点、任意值。这些值作为特定于语言的字符串写入数据库,这意味着 123.45 的浮点值可以写为德语中的 "123,45" 字符串语言(使用 VB.Net...)

因为我需要同一组中的浮点值的平均值:如何在 MySQL 中将这样的字符串转换为 FLOAT ?简单地 AVG(CONVERT(value, DECIMAL)) 不起作用(返回 99.00000),无法转换为 FLOAT

字符集为utf8,排序规则为utf8_general_ci

示例表:

id | value  | group
1 | 122,45 | 1
2 | 66,34 | 1
3 | blabla | 2
4 | 109,21 | 1
5 | bababa | 2

目标:类似 SELECT AVG(CONVERT(value, DECIMAL)) FROM table WHERE (group=1) 的结果应为 99.333333,而不是 99.

有什么想法吗?

克里斯托夫

PS:我没有制作数据库布局...

最佳答案

你可以试试

SELECT AVG(CONVERT(
REPLACE(REPLACE(value, '.', ''), ',', '.'),
DECIMAL(10,2)))
FROM `table`
WHERE `group`=1

关于MySQL:将德语字符串转换为浮点/小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42174453/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com