sql - SQL 不接受正字符串
问题描述
我正在使用 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 声明还是有其他方法?不幸的是,如果它有助于使用视图/交叉应用不是此数据结构的选项
解决方案
这是你想要的吗?
(case when Substring([Txt], 147, 10) like '%-%'
then '-' + Replace(LTrim(RTRIM(Substring([TXT], 147, 9))), ',', '')
else Replace(LTrim(RTRIM(Substring([TXT], 147, 9)))
end) as [Open_Amount]
from db.txt
如果您只想保留负行,请使用:
where substring([Txt], 147, 10) like '%-%'
推荐阅读
- python - 有没有办法在 Chrome 中使用热键快捷方式“保存 HAR 和内容”?
- report - power BI 通过比较两个表来获取 MIN 和 Max 日期
- notepad++ - Notepad ++如何删除特定字符后的新行?
- apache-spark - 从 Ignite Cache 读取时执行 Cassandra CQL 语句失败
- c++ - 返回匿名结构
- c# - 如何绑定到控件属性本身,而不是 DataContext 值属性?
- scala - 如何引用采用可变参数的函数
- apache - 使用 PHP & OpenBSD 运行 exec()/system() 等命令
- twig - 如何在错误页面中访问自定义树枝扩展
- arrays - React native 未正确创建链接以进行搜索