2009-07-25 20 views

答えて

0
select * from [sometable] where somecolumn like '% %' 
+0

申し訳ありませんが、それは私のためには機能しません。 –

+0

興味深い。それは動作しません。 char列の場合、すべての行を戻します。 varcharの場合は期待どおりに動作します。 – Joe

+2

@Joe。 CHAR列は固定サイズなのでスペースが埋められます。 –

2

「機能しない」とはどういう意味ですか?両方の方法が私のために働きます:

SELECT ''''+a+'''' FROM(
SELECT 'asd fgh' AS a UNION ALL 
SELECT ' fgh' AS a UNION ALL 
SELECT 'asd ' AS a UNION ALL 
SELECT 'asfdg') As t 
WHERE a LIKE '% %' 

--------- 
'asd fgh' 
' fgh' 
'asd ' 

SELECT ''''+a+'''' FROM(
SELECT 'asd fgh' AS a UNION ALL 
SELECT ' fgh' AS a UNION ALL 
SELECT 'asd ' AS a UNION ALL 
SELECT 'asfdg') As t 
WHERE CHARINDEX(' ', a) > 0 

--------- 
'asd fgh' 
' fgh' 
'asd ' 
+0

私の苦境の正確な修正ではなかったが、確かに私に近い溶液。これを提示するこの方法は、私と和音を打ちました。ありがとう。 – CSS

8

あなたはrtrim CHARカラムを持っていなければなりません。

CHAR列は、最大長まで右に空白が埋められます。

RTRIMは、最大長よりも短い文字列を格納するときに誤検出を防ぐのに役立ちます。

select * from [table] where rtrim(col) like '% %' 



create table dropme 
(foo char(32)) 

insert into dropme values('nospaces') 
insert into dropme values('i have a space') 
insert into dropme values('space bar') 

select replace(foo,' ','|') from dropme 
where foo like '% %' 

nospaces 
i|have|a|space 
space|bar 

select replace(foo,' ','|') from dropme 
where rtrim(foo) like '% %' 

i|have|a|space 
space|bar 
+0

と 'ltrim()'と 'rtrim(ltrim(col))'のように? – Coops

+0

@CodeBlend CHAR列は最大長まで右にスペースが埋め込まれます。 RTRIMは、最大長よりも短い文字列を格納するときに誤検出を回避するのに役立ちます。 LTRIMはそれを避けるのに役立ちませんし、値の先頭にスペースを入れたい場合は、実際には偽陰性を引き起こす可能性があります。 –

4

次の例では、これを実現する方法を示しなければなりません。あなたが本当に問題が何であるかを説明していませんでしたが与えられ

create table #tableTest 
(
    someData varchar(100) not null 
); 

insert into #tableTest(someData) values('dsadsa'); 
insert into #tableTest(someData) values('fdssf 432423'); 
insert into #tableTest(someData) values('432423fsdv'); 
insert into #tableTest(someData) values('321 jhlhkj 543'); 



select * 
from #tableTest; 

select * 
from #tableTest 
where charindex(char(32),someData) > 0; 

drop table #tableTest; 
0

...あなたはCHAR(160)hardspace (nbsp)ため

お探しですか?またはtab CHAR(9)? これらは、スペースのように見えることができますが、以下は、私のために働い

+0

OPはスペース文字(32)いいえ? –

+1

はい、他のポスターはchar(32)の作品を実演しました。だから私は選択肢を提供する... – gbn

0

されていません。

PrdPicture LIKE '%'+char(160)+'%' 
関連する問題