加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

怎样替代Access SQL中的多个字符?

发布时间:2021-01-24 07:48:24 所属栏目:编程 来源:网络整理
导读:我是SQL的新手,以是但愿有人能为我拼出这个.我实行凭证“在SQL查询中替代多个字符串”的帖子,但我被卡住了. 我正在实行做与上述宣布的提倡人沟通的工作,但行使差异的表和差异的字段.假设表“BTST”中的以下字段“ShiptoPlant”有三笔记录(我的显露实上稀有千

我是SQL的新手,以是但愿有人能为我拼出这个.我实行凭证“在SQL查询中替代多个字符串”的帖子,但我被卡住了.

我正在实行做与上述宣布的提倡人沟通的工作,但行使差异的表和差异的字段.假设表“BTST”中的以下字段“ShiptoPlant”有三笔记录(我的显露实上稀有千笔记录)……

表名:BTST

---------------
   | ShiptoPlant |
   | ----------- |
   | Plant #1    |
   | Plant - 2   |
   | Plant/3     |
   ---------------

这是我想在SQL屏幕中输入的内容:

SELECT CASE WHEN ShipToPlant IN ("#","-","/") Then ""
ELSE ShipToPlant END FROM BTST;

我一向收到动静(错误3075)…

"Syntax error (missing operator) in query expression 
'CASE WHEN ShiptoPlant IN (";","/"," ") Then "" ELSE ShipToPlant END'."

我想对键盘上的每个字符执行此操纵,但“*”除外,由于它是通配符.

您将提供的任何辅佐将不胜谢谢!

编辑:从评述中添加的配景信息

我已经网络了来自我们14个供给商的2008日积年的项目发票级数据.我正在实行类型供给商提供应我们的工场名称.

每个供给商可以通过差异的名称号叫工场,譬喻

供给商可以挪用我们主列表上的Signode处事

Signode Service 
Signode - Service.
SignodeSvc
SignodeService

我试图剥离非字母数字字符,以便我可以实行行使我们的主列表来辨认工场,通过建设一系列链接来查察前10个字符,假如没有匹配,8个字符,6个,4个…

我的根基挂断是我不知道怎样从表中删除字母数字字符.我将在几个列上执行此操纵,但我打算建设单独的查询以编辑其他列.

大概我必要做一个剥离全部字母数字的批量更新查询.我还不清晰怎样写它.这是我开始采纳的全部空间.它事变得很好,可是当我试图嵌套替代时失败了

UPDATE BTST SET ShipToPlant = replace(ShipToPlant," ","");

编辑2:从评述中获取的进一步信息

每个月,我们的行项目发票数据中最多可表现100个新工场名称的分列 – 这也许代表数千张发票记录.我正在实行构建一种快速而又脏的要领,为每个工场名称分列分派一个确命名称的master_id.我能看到的最好要领是查察工场,地点,都市和州字段,但题目是这些字段也有各类分列,譬喻,

128 Brookview Drive
128 Brookview Lane

通过取出字母数字和做

LEFT(PlantName,#chars) & _
LEFT(Address,#chars) & _
LEFT(City,#chars) & _
LEFT(State,#chars)

而且通过变动字符数直到在发票数据和主工场列表之间找到匹配(两个表都包括工场,都市和州字段),您最终可以找到匹配项.虽然,当你开始镌汰正在阁下的字符数时,精确性会受到影响.我在excel中做到了这一点而且产量很高.有谁能保举更好的办理方案?

办理要领

您也许但愿思量用户界说函数(UDF)
SELECT ShiptoPlant,CleanString([ShiptoPlant]) AS Clean
FROM Table


Function CleanString(strText)
Dim objRegEx As Object

Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.IgnoreCase = True
objRegEx.Global = True

objRegEx.Pattern = "[^a-z0-9]"
CleanString = objRegEx.Replace(strText,"")

End Function

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读