我有一個學生資料集,可以計算某個日期的平均分數(精確到小數點)。資料集充滿了拼寫錯誤。一個樣本資料是:
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 中的查詢很困難。
謝謝!
uj5u.com熱心網友回復:
您可以在列上嘗試以下正則運算式更新avg_test_score:
UPDATE yourTable
SET avg_test_score = SUBSTRING(
REGEXP_REPLACE(avg_test_score, '\.{2,}', '.') FROM '\d (?:\.\d )?');
上述邏輯首先用一個點替換兩個或多個點的序列。然后我們從剩下的內容中提取整數或浮點數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/475166.html
標籤:sql PostgreSQL 验证 十进制 数据清理
下一篇:在編譯期間驗證傳遞給建構式的引數
