【发布时间】:2021-06-26 15:41:54
【问题描述】:
我正在使用 SQL Server 2012。我有一个陷阱,我得到减号并将其放在一组字符串中我的值的前面,但是也有没有减号的值,它们出现了在我的专栏中作为空值。 我需要一种不接受这些正值的方法,因为这是一个标准过程,我只需要查询中的负值。
我的代码是
CASE
WHEN CHARINDEX('-', SUBSTRING([Txt], 147, 10)) > 0
THEN '-' + REPLACE(LTRIM(RTRIM(SUBSTRING([TXT], 147, 9))), ',','')
END AS [Open_Amount]
在我的查询中,正值作为我不想要的“空值”出现,如果open_amount 是正值,我希望忽略整行。我可以在我的案例中添加一个具体的 else 声明还是有其他方法?如果它有助于使用视图/交叉应用,那么不幸的是这个数据结构不是一个选项
【问题讨论】:
-
请提供样本数据和期望的结果。您的代码和您的描述似乎没有什么共同之处。
-
嗨,戈登,想要的结果是未结金额列只显示负值,因此我的案例陈述,但是该子字符串中有正值,我需要从我的查询中“删除”,我不能让它们作为空值出现,因为我需要删除整行(具有正值)
标签: sql sql-server-2012 substr charindex