0

データベースにいくつかのnvacharデータがあります。

aaaa、bb1b、c + cc、1234、dser、5896

とを2つ選択する必要がありOnly StringますOnly Int。これは意味です:

最初の選択の結果は次のとおりです:aaaadser

2番目の選択の結果は:12345896

どのように?

4

2 に答える 2

3

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番目は「数字以外を含まないすべての文字列を教えてください」と言います

于 2012-05-29T07:25:21.443 に答える
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

于 2012-05-29T07:17:39.703 に答える