【问题标题】:split string but only when necessary拆分字符串,但仅在必要时
【发布时间】:2015-09-04 22:10:50
【问题描述】:

我知道互联网上有很多类似的问题,但我找不到确切的解决方案。我有两列 Firstname 和 Lastname ,其中一些名字在列中有中间名首字母,一些姓氏在列中有',后缀'。我之前使用过LTRIM(RTRIM(SUBSTRING(lastname, 0, CHARINDEX(',', lastname)))) As lastname 和LTRIM(RTRIM(SUBSTRING(FirstName, CHARINDEX(' ', FirstName) +1, 20 ))) AS FirstName,但是如果没有中间名首字母/姓名或姓氏没有后缀,则返回空白结果。我已经尝试了几种不同的组合,但没有运气。我需要一种方法来忽略中间首字母,如果有一个,但如果没有一个(基于空格)仍然返回名字,如果有一个,则忽略姓氏后缀,但如果有,仍然返回姓氏't one(基于逗号)

【问题讨论】:

    标签: tsql string-split


    【解决方案1】:

    尝试一个案例陈述。例如:

    case when CHARINDEX(',', lastname) <> 0
       then LTRIM(RTRIM(SUBSTRING(lastname, 0, CHARINDEX(',', lastname))))
       else lastname
    end As lastname
    

    与您的名字表达类似。

    【讨论】:

    • 最简单的答案让我望而却步。谢谢@Ben Thul
    猜你喜欢
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    相关资源
    最近更新 更多