1

您好,这是我的第一篇文章,我对 SQL 还很陌生。我真正想要找到的是与 MID$ 相当的东西,我可以在其中根据字段的一部分进行更新。

    UPDATE OurTable
 SET UpdateField='Text-2008-001-old'
  WHERE '2008' like ('%' || UpdateField) AND KeyField='1'

换句话说,我想更新到“Text-2008-001-old”,该字段当前可能是“Line-2008-000-000”

2008 年的位置在现有数据中没有改变,所以我只需要更新和包含 2008 年 KeyField 为“1”的字段

如果我还没有找到一个很好的 SQL 语法在线资源,请随时指出我那里。

希望我已经解释了这一点,并提前感谢所有建议。

4

3 回答 3

1

我认为您只需要使用 LIKE:

UPDATE OurTable
SET UpdateField='Text-2008-001-old'
WHERE UpdateField LIKE '%2008%' AND KeyField='1'

或者如果它周围总是有破折号,也许LIKE '%-2008-%'会更好。

祝你好运。

于 2013-02-06T19:36:54.203 回答
0

UPDATE OurTable SET UpdateField='Text-2008-001-old' WHERE UpdateField like 'Line-2008%' AND KeyField='1'

于 2013-02-06T19:38:32.850 回答
0

有许多通配符可与 LIKE 运算符(%、_、[]、[^] 等)一起使用——在此处解释:http: //msdn.microsoft.com/en-us/library/ms179859。 .aspx _

还有 substring() 函数——在此处解释:http: //msdn.microsoft.com/en-us/library/ms187748.aspx,这有点像其他语言中的 MID 函数。(在哪里...像子字符串(...))

于 2013-02-06T19:50:32.387 回答