因此,根据Mycondition的值,FIELD2可以将两组字段作为单个结果连接在一起。TSQL替换为长度约束
我的问题是,只有当Mycondition = 1
如果MyCondition = 1,那么我需要连接INT_FIELD_ONE + 'A' + INT_FIELD_TWO。
串联不是问题。
问题是如果INT_FIELD_ONE(是空)+'A'+ INT_FIELD_TWO(为空),那么我不得不返回任何东西。
如果字段ONE和TWO都为空,则My Replace命令将起作用。但是,如果只有1是NULL而另一个不是“A”会被任何方式删除。如果1字段不为空,则A需要保留。
例如:
NULL + 'A' + NULL =无
NULL + 'A' + XXXX = AXXXX
XXXX + 'A' + NULL = xxxxA
因此,我需要进行TSQL替换,结果长度限制> 1
任何想法?
SELECT XXX,
CASE --Case Statement to Return Field2
WHEN MyCondition = 1 THEN
--Constraint on the Replace Starts Here
REPLACE(
Isnull(CAST(INT_FIELD_ONE AS VARCHAR), '') + 'A' +
Isnull(CAST(INT_FIELD_TWO AS
VARCHAR), '')
,'A','')
ELSE
REPLACE(
Coalesce(REPLACE(INT_FIELD_THREE, '', '-'), Isnull(INT_FIELD_THREE, '-'), INT_FIELD_THREE) +
'/' + Coalesce(REPLACE(INT_FIELD_FOUR, '', '-'),
Isnull(INT_FIELD_FOUR, '-'), INT_FIELD_FOUR) + ' ', '-/- ',
'')
END
AS FIELD2
FROM TABLEX