0

電話番号と対応する顧客を含むテーブル [CLIData] があります。

Number       Customer
01234567890  GeoffLtd
01234567891  FredLtd
01234567892  1JimLtd
01234567893  21DaveLtd
01234567894  297AhmedLtd
01234567895  FrankLtd

数字で始まる顧客はグループ 1 の一部であり、アルファベットで始まる顧客はグループ 2 の一部です。

以下のように、別のテーブル [CustomerData] に挿入するクエリを作成しようとしています。

Number       Group
01234567890  Group2
01234567891  Group2
01234567892  Group1
01234567893  Group1
01234567894  Group1
01234567895  Group2

誰かがこれについてどこで私を助けることができますか? 最初の文字が数値である場所を照会する簡単な方法はありますか?

ありがとう

4

2 に答える 2

0
INSERT INTO CustomerData(Number, [Group])
SELECT  Number, 
        CASE WHEN ISNUMERIC(SUBSTRING(Customer, 1, 1)) = 1
            THEN 'GROUP1'
            ELSE 'GROUP2'
        END [GROUP]
FROM    CLIData
于 2013-03-28T11:08:01.017 に答える
0

これを試して:

select 
    * 
    ,gr = case when patindex('[0-9]%',customer)>0 THEN 'Group1' else 'Group2' end
from (
    select '01234567890' as number,'GeoffLtd' as customer union all
    select '01234567891','FredLtd' union all
    select '01234567892','1JimLtd' union all
    select '01234567893','21DaveLtd' union all
    select '01234567894','297AhmedLtd' union all
    select '01234567895','FrankLtd'
) x
于 2013-03-28T11:09:02.290 に答える