11 sql t-sql sql-server
TSQL - 如何查找列是否有空格char(32)
?
select *
from [sometable]
where CHARINDEX(' ', [somecolumn]) > 0
Run Code Online (Sandbox Code Playgroud)
不起作用?有任何想法吗?
Joe*_*Joe 11
你必须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 '% %'
Run Code Online (Sandbox Code Playgroud)
nospaces
i|have|a|space
space|bar
select replace(foo,' ','|') from dropme
where rtrim(foo) like '% %'
Run Code Online (Sandbox Code Playgroud)
i|have|a|space
space|bar
Run Code Online (Sandbox Code Playgroud)
下面的示例应说明如何实现此目的。
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;
Run Code Online (Sandbox Code Playgroud)
select * from [sometable] where somecolumn like '% %'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
67304 次 |
最近记录: |