【问题标题】:Split content of field into 2 fields [duplicate]将字段内容拆分为 2 个字段 [重复]
【发布时间】:2013-03-03 00:40:27
【问题描述】:

我必须在 Access sql 中运行查询或使用查询向导将字段数据拆分为 2。

该字段包含1234 ave willie 等数据和haha@yahoo.com 等电子邮件地址。

我需要将1234 ave willie 放入一个名为St address 的新字段和电子邮件 中的haha@yahoo.com

有人可以帮忙吗?有没有像LIKE 这样的通配符运算符?

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    您应该考虑使用LIKE 来确定哪个字段是电子邮件,哪个字段是地址。像这样的东西会起作用:

    SELECT Field, 'Email' FieldType
    FROM YourTable
    WHERE Field Like '*@*'
    UNION ALL
    SELECT Field, 'Address' FieldType
    FROM YourTable
    WHERE Field Not Like '*@*'
    

    您提到您需要将这些拆分为 2 个单独的字段 - 取决于表结构。但假设您向原始表添加 2 个新字段,那么这样的事情应该可以工作:

    UPDATE YourTable SET Email = Field WHERE Field Like '*@*'
    UPDATE YourTable SET Address = Field WHERE Field Not Like '*@*'
    

    您可以找到更好的算法来通过电子邮件地址进行搜索——这只是一个示例。但是假设任何带有 @ 符号的字段都是电子邮件,那么上面的内容就可以正常工作。这是一个带有 SQL 电子邮件验证的 SO 帖子,可以帮助您入门:

    Sql script to find invalid email addresses

    【讨论】:

    • 我对 OP 的情况的理解是 Street Address 和 E-mail Address 都会出现在 same 字段中。因此需要拆分
    • @PM77-1 -- 我的理解是存储地址或电子邮件的字段 -- 我可能弄错了。需要 OP 的进一步解释才能完全理解。
    • 恰好该字段有街道地址或电子邮件地址。所以我需要在一个字段中显示电子邮件,在另一个字段中显示街道地址
    • 我需要在访问中使用这个...
    • 我想我需要使用 instr() 和 substr()
    猜你喜欢
    • 2012-09-11
    • 2023-03-19
    • 2016-07-25
    • 1970-01-01
    • 2010-10-12
    • 2013-01-21
    • 2016-12-08
    • 1970-01-01
    • 2022-07-19
    相关资源
    最近更新 更多