【问题标题】:sql replace function that matches whole words匹配整个单词的sql替换函数
【发布时间】:2014-02-19 04:45:07
【问题描述】:

我希望替换字段中的一些文本,所以我有以下声明:

UPDATE INVENTORY
SET INV_DESCRIPTION = REPLACE(INV_DESCRIPTION, '5 ml', '5ml (1/6oz)')

问题在于该语句将用替换字符串替换诸如“5 ml”“15 ml”“150 ml”等字符串。我希望这个函数能匹配整个单词并且只寻找'5 ml'

【问题讨论】:

  • 您使用的是哪种数据库软件?在 Oracle 中 regexp_replace 会完成你想要的。
  • 您尝试更新的整个字段 (INV_DESCRIPTION) 是什么样的?是否一致?
  • 嗨,塞缪尔,它被称为“普遍”
  • 这是针对 BusinessVision 的吗? AccPac 也使用 Pervasive,但是...
  • @OMG - 不幸的是,普遍的工具也使用它。我使用了他们的一些其他工具,但没有使用 SQL 实现。

标签: sql pervasive


【解决方案1】:

您可以添加一个 WHERE 子句,这应该会让您非常接近:

...Your Current Query...
WHERE INV_DESCRIPTION LIKE '5ml%'
OR INV_DESCRIPTION LIKE '% 5ml%'

只会更新以5ml开头或5ml前面有空格的记录,这将排除15ml25ml等。

这是假设 SQL Server。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    相关资源
    最近更新 更多