因此,根據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