SQL子字符串引发错误“多个结果”

问题描述 投票:0回答:1

我使用Microsoft SQL Server(2016)我有一个称为故障转移的列该列看起来像

  1.                 $D$Failov:12345:54362:28564      
  2.                 $D$Failov:12345:
  3.                 $D$Failov:86905:45634

我想要这个数字,所以我用:

select substring(failover,10,5) 
from dbo.f009
where failover like '$D$Failov:%'

它工作正常,但是如果我要一个称为Account的第二列,它崩溃了,结果不一而足……

Select account,
       (Select substring(failover,10,5) AS "1.Result"
        from dbo.f009 
        where Failover like '$D$Failov:%')
from f009
where Failover like '$D$Failov:%'

如何解决?

  1. 是否有一种简单的方法来获取第二个数字和第三个数字?我可以使用substring(failover,16,5), substring(failover,22,5)等来完成此操作,但不会重复我自己。
sql sql-server tsql
1个回答
0
投票

似乎您想要的东西可以通过一个简单的查询来实现:

Select account, substring(failover,10,5) AS "1.Result"
from dbo.f009 
where Failover like '$D$Failov:%'
© www.soinside.com 2019 - 2024. All rights reserved.