添加修剪后的子串
adding trimmed substrings
使用 sql 服务器:
我有一些命令 trim 一个 txt 文件,例如:
Case when charindex('-', Substring([RawStreamOut], 179, 10)) > 0
then '-' + Replace(LTrim(RTRIM(Substring([RawStreamOut], 179, 9))), ',','') else
LTrim(RTRIM(Substring([RawStreamOut], 179, 10))) end as [Days_Old_16_To_20],
Case when charindex('-', Substring([RawStreamOut], 196, 10)) > 0
then '-' + Replace(LTrim(RTRIM(Substring([RawStreamOut], 196, 9))), ',','') else
LTrim(RTRIM(Substring([RawStreamOut], 196, 10))) end as [Days_Old_21_To_40]
等...
我有很多这样的。
当前输出:
我需要能够将这些命令的结果添加到名为“总计”的新列中。有没有简单的方法可以做到这一点?
你现在拥有的是:
select
case when charindex........as [Days_Old_16_To_20]
,.......
from
(bunch of tables and joins)
相反,将您的公式交叉应用:
select
q.*
from
(bunch of tables and joins)
cross apply
( select
case when charindex........as [Days_Old_16_To_20]
,.......
) as q
现在您可以在 select 中添加一个新列:
select
q.[Days_Old_16_To_20] + q.[Days_Old_21_To_40] + .... as [Total_value]
,q.*
from
(bunch of tables and joins)
cross apply
( select
case when charindex........as [Days_Old_16_To_20]
,.......
) as q
一个简单的方法是使用 view
创建视图 SomeView as
select...
Case when charindex('-', Substring([RawStreamOut], 179, 10)) ..... end as [Days_Old_16_To_20],
Case when charindex('-', Substring([RawStreamOut], 196, 10)) ..... end as [Days_Old_21_To_40]
.
.
from <tables>
那么您的查询可以简单地是
select
column,
[Days_Old_16_To_20] + [Days_Old_21_To_40] +... as total_Value
from someView
使用 sql 服务器:
我有一些命令 trim 一个 txt 文件,例如:
Case when charindex('-', Substring([RawStreamOut], 179, 10)) > 0
then '-' + Replace(LTrim(RTRIM(Substring([RawStreamOut], 179, 9))), ',','') else
LTrim(RTRIM(Substring([RawStreamOut], 179, 10))) end as [Days_Old_16_To_20],
Case when charindex('-', Substring([RawStreamOut], 196, 10)) > 0
then '-' + Replace(LTrim(RTRIM(Substring([RawStreamOut], 196, 9))), ',','') else
LTrim(RTRIM(Substring([RawStreamOut], 196, 10))) end as [Days_Old_21_To_40]
等...
我有很多这样的。
当前输出:
我需要能够将这些命令的结果添加到名为“总计”的新列中。有没有简单的方法可以做到这一点?
你现在拥有的是:
select
case when charindex........as [Days_Old_16_To_20]
,.......
from
(bunch of tables and joins)
相反,将您的公式交叉应用:
select
q.*
from
(bunch of tables and joins)
cross apply
( select
case when charindex........as [Days_Old_16_To_20]
,.......
) as q
现在您可以在 select 中添加一个新列:
select
q.[Days_Old_16_To_20] + q.[Days_Old_21_To_40] + .... as [Total_value]
,q.*
from
(bunch of tables and joins)
cross apply
( select
case when charindex........as [Days_Old_16_To_20]
,.......
) as q
一个简单的方法是使用 view
创建视图 SomeView as
select...
Case when charindex('-', Substring([RawStreamOut], 179, 10)) ..... end as [Days_Old_16_To_20],
Case when charindex('-', Substring([RawStreamOut], 196, 10)) ..... end as [Days_Old_21_To_40]
.
.
from <tables>
那么您的查询可以简单地是
select
column,
[Days_Old_16_To_20] + [Days_Old_21_To_40] +... as total_Value
from someView