【问题标题】:splitting column data [duplicate]拆分列数据[重复]
【发布时间】:2015-11-12 00:45:46
【问题描述】:

如何在sql中拆分列数据。如果存在连字符,则仅显示 hpyhen 之前的数据。

【问题讨论】:

  • 你能提供一些输入和输出应该是什么的例子吗?
  • 我认为您要查找的词是“拆分”。也就是说,这就是为什么你应该标准化你的数据。任何可以作为两件事的组合派生出来的东西几乎都应该作为两件事分开存储(因为正确地将它们分开比将它们重新组合起来更难)。

标签: sql sql-server-2008


【解决方案1】:

您需要小心测试是否存在连字符。这应该有效:

select left(colname, charindex('-', colname + '-') - 1)

如果您不执行“附加连字符技巧”,那么您需要条件逻辑(例如 case 语句)。

【讨论】:

    【解决方案2】:
    select substring(colname, 1, charindex('-',colname)-1)
    from tablename
    

    您可以使用substringcharindex 的组合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 2020-05-05
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      相关资源
      最近更新 更多