2011-12-06 21 views
1

私は、列を引っ張るスクリプトを持っていて、セルのいくつかは何も持たないので、「ダッシュ」で返されます。私はこれらを「グローバル」に置き換えたいが、他のすべての結果を取得しておきたい。私は時々変更することができるので、それぞれのケースを指定する必要はありません。1つの値を列から置き換える方法

+0

これらの列(それはあなたの質問から伝えるのは難しいです)の実際の値とは何ですか?それは空文字列か 'NULL'か" - "ですか? – Phil

+0

「 - 」として戻ってきます。 – user1076439

答えて

0

可能であれば、ルックアップテーブルを用意してください。何かのように

create table ConfigTable 
(
    pkConfigTable int identity(1, 1) not null primary key clustered, 
    ConfigKey varchar(100) not null, 
    ConfigValue varchar(100) not null 
) 
go 

insert into ConfigTable 
values('NothingString', '-') 
go 

declare @NullChar varchar(10) 
go 

select @NullChar = ConfigValue 
from ConfigTable 
where ConfigKey = 'NothingString' 
go 

select 
    case 
     when yourColumnToTest = @NullChar 
      then 'Global' 
     else yourColumnToTest 
    end 
from yourTable 
2

これはおそらく何か?

SELECT CASE 
    WHEN MyColumn = '-' THEN 'Global' 
    ELSE MyColumn 
END 
FROM MyTable 
+0

「時々変更する可能性があるため、ケースごとにそれぞれを指定したくない」私の理解から、あなたの答えは、OPが探しているものではありません。 –

0

シンプルIFおそらく行うことができます:

SELECT 
IF(Column = '-', 'Global', Column) AS NiceNameForColumn 
FROM 
Table 
0
SELECT COALESCE(NULLIF(a_column, '-'), 'Global') AS a_column_narrative 
    FROM YourTable; 
関連する問題