データベースにいくつかのnvachar
データがあります。
aaaa、bb1b、c + cc、1234、dser、5896
とを2つ選択する必要がありOnly String
ますOnly Int
。これは意味です:
最初の選択の結果は次のとおりです:aaaa
、dser
2番目の選択の結果は:1234
、5896
どのように?
データベースにいくつかのnvachar
データがあります。
aaaa、bb1b、c + cc、1234、dser、5896
とを2つ選択する必要がありOnly String
ますOnly Int
。これは意味です:
最初の選択の結果は次のとおりです:aaaa
、dser
2番目の選択の結果は:1234
、5896
どのように?
LIKE
この比較を実行するために使用できます。二重否定を使用することにより、それぞれ1つの式でテストを実行できます。
declare @t table (val varchar(10) not null)
insert into @t(val)
select 'aaaa' union all
select 'bb1b' union all
select 'c+cc' union all
select '1234' union all
select 'dser' union all
select '5896'
select * from @t where val not like '%[^A-Z]%'
select * from @t where val not like '%[^0-9]%'
最初の文字は「アルファベット以外の文字を含まないselect
すべての文字列を教えてください」と書かれています。同様に、2番目は「数字以外を含まないすべての文字列を教えてください」と言います
正規表現を確認する必要があります。
あなたの例では、クエリは次のようになります。
SELECT * FROM example WHERE foo LIKE '%[0-9]%' AND foo NOT LIKE '%[A-Z]%'
と
SELECT * FROM example WHERE foo NOT LIKE '%[0-9]%' AND foo LIKE '%[A-Z]%'
大文字と小文字を区別しないチェックには、大文字(foo)を実行する必要があるかもしれません。また、NOT LIKE式に+、-などの他の文字を追加します。
参照: http: //msdn.microsoft.com/en-us/library/ms187489 (SQL.90).aspx