访问数据库表 - 拆分字段SQL命令

时间:2014-03-11 13:50:33

标签: sql ms-access split sql-update ms-access-2013

我有一个Access 2013数据库表,dbo_GOV

目标

我想采用USSenators字段,其中包含如下所示的数据,并将其分别分为USSenator1和USSenator2字段:

John Smith;Sarah Levens
Bill Burr;Kevin Nill
George Thomson;Tracy Johnson

问题

我尝试了几个不同的Access SQL查询......两个(下面)执行时,给出错误消息

  

无效使用'。','!'或'()'。在查询表达式中   '拆分(USSenators&“;”,“;”)(0'。

我已经确认有0条记录,其中USSenators是空白的。每行列出2个人,用分号分隔。


SQL QUERIES

UPDATE dbo_GOV
SET
    USSenator1 = Split(USSenators & ";",';')(0),
    USSenator2 = Split(USSenators & ";",';')(1);

UPDATE dbo_GOV
SET
   USSenator1 = Split(USSenators,';')(0),
   USSenator2 = Split(USSenators,';')(1);

我尝试引用拆分的Office文档: here

1 个答案:

答案 0 :(得分:1)

您不能在查询中使用Split,请使用Mid和Instr。

Mid(USSenators,Instr(USSenators,";")+1)
Mid(USSenators,1,Instr(USSenators,";")-1)

上面的第2行返回John Smith的第一个记录
上面的第1行返回Sarah Levens的第一张记录

您需要注意空值。