【问题标题】:Remove non-numerical values from multiple columns SQL从多列 SQL 中删除非数值
【发布时间】:2021-12-29 20:41:07
【问题描述】:

我是一名 React 开发人员,独自完成一个项目。我有一个 sprint 项目,要求我从我们的数据列之一中删除非数值。我不是一个真正的 SQL 人,所以我不确定我在做什么,需要一些关于语法的指导。

APINumber
30-015-47040
123456789
3001546601
4230134963
30

这是数据外观的一个小样本,但总共有 623 行。

目标是从所有行中删除所有破折号,只留下整数。

更新

通过下面有用的 cmets,我能够运行查询并摆脱破折号,但是更改不会持续存在,当您在之后查询表时,更改会立即返回。有没有办法通过 SQL 提交更改?

运行替换查询后:

然后查询表:

【问题讨论】:

  • 你不需要正则表达式吗?只需使用replace(APINumber,'-','')

标签: sql azure-data-studio


【解决方案1】:

根据您的问题编辑,我认为您误解了 cmets。

您似乎想要更新数据:

update dbo.Well
  set APINumber = replace(APINumber,'-','')
where APINumber like '%-%'

【讨论】:

    【解决方案2】:

    SELECT replace(APINumber,'-','') FROM dbo.Well;

    【讨论】:

    • 所以我已经运行它并且它工作了!除了它不持久,当我再次查询表时,破折号又回来了。我需要在 SQL 中做些什么来提交更改吗?
    • 这仅适用于选择值,如果您想反映更改,则需要使用新值更新列。请使用 Stu 评论代码来解决您的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    相关资源
    最近更新 更多