仅当字符串的前两个字符与我的模式匹配时,才在Access SQL中使用Replace

时间:2014-04-14 11:55:59

标签: sql ms-access replace ms-access-2010

我正在使用一个数据库,其中带有撇号的名字(例如爱尔兰或苏格兰风格的名字,如O'Doherty)用空格而不是撇号存放(例如" O Doherty&#34 ;)

在我的查询中,我想以正确的格式返回名称(仅在此SELECT查询中,而不是实际更改数据),所以我已经使用过:

 Replace([snametemp],"O ","O’")

这在理论上是有效的,但我遇到的问题是在字符串中进一步存在模式匹配的地方:例如,"不要使用"将被退回为"不要使用"。

如何编写仅检查字符串前两个字符的Replace语句?

2 个答案:

答案 0 :(得分:4)

应该是访问

中的类似内容
IIF(snametemp like "O *", Replace([snametemp],"O ","O’"), snametemp)

答案 1 :(得分:1)

我不知道如何在Access中使用此语法。此问题最初发布在 tsql

用例陈述 case...when...then...else...end

case when substring(snametemp,0,2) like "O’" then Replace([snametemp],"O ","O’") else snametemp end as snametemp