小数点错别字 + postgresql
Typo in decimal place + postgresql
我有一个学生数据集,可以计算某个 date.The 数据集的平均分数(精确到小数点后),数据集充满错别字。
样本数据是:
student_id date avg_test_score
ab_1 1/2/20 95..6
ab_2 1/2/20 60.7
ab_3 2/4/20 88..7
ab_4 2/4/20 98.7.
这看起来很简单,但我在 postgresql 中遇到困难。
谢谢!
您可以尝试对 avg_test_score
列进行以下正则表达式更新:
UPDATE yourTable
SET avg_test_score = SUBSTRING(
REGEXP_REPLACE(avg_test_score, '\.{2,}', '.') FROM '\d+(?:\.\d+)?');
上述逻辑首先将两个或多个点的序列替换为一个点。然后我们从剩下的中提取整数或浮点数。
我有一个学生数据集,可以计算某个 date.The 数据集的平均分数(精确到小数点后),数据集充满错别字。 样本数据是:
student_id date avg_test_score
ab_1 1/2/20 95..6
ab_2 1/2/20 60.7
ab_3 2/4/20 88..7
ab_4 2/4/20 98.7.
这看起来很简单,但我在 postgresql 中遇到困难。
谢谢!
您可以尝试对 avg_test_score
列进行以下正则表达式更新:
UPDATE yourTable
SET avg_test_score = SUBSTRING(
REGEXP_REPLACE(avg_test_score, '\.{2,}', '.') FROM '\d+(?:\.\d+)?');
上述逻辑首先将两个或多个点的序列替换为一个点。然后我们从剩下的中提取整数或浮点数。