【问题标题】:How to find the value between 2 characters within a field in PostgreSQL如何在 PostgreSQL 的字段中查找 2 个字符之间的值
【发布时间】:2016-02-19 18:23:35
【问题描述】:

我有一个带有 FirstName 字段的表,其中包含一些包含昵称的记录。例如

John "Johnny"

我想做的是将“Johnny”提取到别名 NickName 字段中。我不太确定该怎么做。

Firstname   Nickname
John        Johnny

【问题讨论】:

    标签: sql postgresql substring


    【解决方案1】:

    怎么样

    select regexp_replace(name, ' ".+?"$', '') FirstName,
    substring(name from '"(.+?)"') NickName
    from names
    

    http://sqlfiddle.com/#!15/6728f/1

    【讨论】:

      【解决方案2】:

      试试这样的:

      select 
          case when NAME(' ',name)>0 
               then SUBSTRING(name,1,CHARINDEX(' ',name)-1) 
               else name end firstname, 
          CASE WHEN NAME(' ',name)>0 
               THEN SUBSTRING(name,CHARINDEX(' ',name)+1,len(name))  
               ELSE NULL END as nickname
      from Customers
      

      【讨论】:

        猜你喜欢
        • 2010-12-15
        • 1970-01-01
        • 2015-03-22
        • 1970-01-01
        • 2014-11-16
        • 1970-01-01
        • 2019-08-13
        • 2018-02-27
        相关资源
        最近更新 更多