PostgreSQL 12 - 尝试修剪尾随子串时出错

问题描述 投票:0回答:0

我正在清理一张名为 workouts 的桌子。表中的一列名为 resistance,数据类型为 varchar。此列的行中的数据由一个 3 个字母的字符串组成,该字符串具有两个数字和一个 %,因此数据看起来像“22%”或“37%”。该列中也有很多行为空。

我想将数据类型从 varchar 转换为 numeric。

我想我可以从子字符串中删除 %,然后我会留下两个数字设置为 varchar 数据类型,我可以将其转换为数字。我使用以下查询来修剪 %:

UPDATE workouts 
  SET resistance = TRIM (TRAILING '%');

查询没有给我留下可以转换为数字数据类型的两个数字的字符串,而是在所有行(甚至是空行)上产生 %。

我的查询哪里出了问题?有什么方法可以将电阻列中的数据恢复到我尝试调整 % 之前的状态吗? (不幸的是,我在运行查询之前没有保存 csv 文件,因为我对 SQL 比较陌生并且一直在自学)

sql-update trim postgresql-12
© www.soinside.com 2019 - 2024. All rights reserved.