-3

画像を参照してください。

特定の部門に関連するレコードでいっぱいのテーブルがあります。部門名がフィールド「StandardWork」の下に保持されていて、「Support -」という単語の後にある場合、Service という新しい列を作成する SQL コマンドは何ですか?権利?

ここに画像の説明を入力

4

4 に答える 4

2

StandardWorkと並んで存在する必要がある場合はService、計算列

ALTER TABLE Whatever
   ADD [Service] AS SUBSTRING(StandardWork, 11, 8000);

を置き換える場合は、次のようStandardWorkになります。

ALTER TABLE Whatever
   ADD [Service] varchar(200) NULL;

UPDATE Whatever SET [Service] = SUBSTRING(StandardWork, 11, 8000);

ALTER TABLE Whatever
   ALTER COLUMN [Service] varchar(200) NOT NULL;

ALTER TABLE Whatever
   DROP COLUMN StandardWork;
于 2011-11-23T11:39:55.827 に答える
2

STUFFこれらの問題を解決するために関数を使用することを好みます。

    select stuff(StandardWork, 1, 10, '')

この関数は、1 ~ 10 の文字を削除し、空の文字列に置き換えます。

于 2011-11-23T11:42:45.427 に答える
1

置換を使用できます

select replace(StandardWork, 'Support - ', '')

または、名前の一部として含まれる部門がある場合は、スタッフ。Support -

select stuff(StandardWork, 1, 10, '')
于 2011-11-23T11:39:05.673 に答える
1

select ステートメント内:

select ...
       case when StandardWork like 'Support - %' 
            then replace(StandardWork, 'Support - ', '')
       end SupportSubCategory
       ...
于 2011-11-23T11:43:35.580 に答える