A. sql如何分隔字符查询结果
select substr(t.times,1,2) from from t_customer t where rownum=1
union
select substr(t.times,4,2) from from t_customer t where rownum=1
B. sql以逗号分隔的字符串查询每个字符出现的个数
sql中可以自定义函数来统计逗号隔开的字符串的数量:
参考如下:
drop function search_dh
go
CREATE FUNCTION search_dh(@str varchar(max))
returns int--设置返回值是returns
AS
BEGIN
DECLARE @result int --返回逗号个数
declare @j int
set @result = 0
set @j = 1
while @j<len(@str)
begin
if substring(@str,@j,1) = ',' --@j是开始位置,1位置参数是长度值
begin
set @result = @result+1
end
set @j = @j+1 --如果出现无限循环请检查参数是否加1以及位置问题
end
return @result --返回结果
END
用法:
select dbo.search_dh ('a,b,c') --引用自定义函数时需要加上dbo.前缀
SELECT x = SUBSTRING('abcdef',2, 2)
C. sql分割字符串查询,分组统计
首先掌握sql中分割字符串的方法:
declare @sql varchar(2000),@tsql nvarchar(max),@split varchar(100)
set @sql='1,3,5,6,8' --保存的字符
set @split=','--分隔符
select @tsql='select '''+replace(@sql,@split,''' union all select ''')+''''
exec(@tsql)
----完成之后将查询结果保存在一张临时表中。
然后使用 select count(*) , 字段名 from 表名 group by 字段名 就可以得到您想要的结果了。
希望对您有所帮助!
D. SQL语言如何将表内字符串按分割符号分割存储
用replace函数,将分号或者 @ 符号, 替换为你的其他分隔符。
REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法
REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )
参数
''string_replace1''
待搜索的字符串表达式。string_replace1 可以是字符数据或二进制数据。
''string_replace2''
待查找的字符串表达式。string_replace2 可以是字符数据或二进制数据。
''string_replace3''
替换用的字符串表达式。string_replace3 可以是字符数据或二进制数据。
返回类型
如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
示例
下例用 xxx 替换 abcdefghi 中的字符串 cde。
SELECT REPLACE(''abcdefghicde'',''cde'',''xxx'')GO
下面是结果集:
------------abxxxfghixxx(1 row(s) affected)
E. sql 两个字段都是逗号隔开 怎么精确查找某个值
你好!
你用select
*
from
tmpdata
where
wid
=
'2',不应该出现1
1,2
weibo,qq啊
仅代表个人观点,不喜勿喷,谢谢。
F. sql查询以逗号分隔的字段
这样写:
where AA like '2,%' or AA like '%,2' or AA like '%,2,%'
G. 在sql server数据库中查询一个用逗号分隔的字段的问题
你说的是选出含有任意一个选中的字段的值,那只要字段1的内容不是空或者null就行了啊。如果是待条件查询的话,只要加上你的条件就好了啊.
declare @a char(10)
set @a = 'a' --任意你想要的查询的值
select * from 表 where 字段1 like '%' + @a + '%'
结果就是根据你给出的条件,检索出所有符合你条件的记录。
H. sql查询:一个字段中内容用逗号隔开,查找逗号前的某一内容
用CHARINDEX 算出逗号排在第几个字符,然后用substring 截取:
select substring ('信息处,生产监督信息处',1,CHARINDEX(',','信息处,生产监督信息处')-1)
I. sql逗号分隔查询,急急急!!
--模拟的变量表 最下面是语句
declare @table table (a varchar(20),b varchar(20))
insert into @table(a,b) values('12,13','13,41')
insert into @table(a,b) values('14,13','24,24')
--实现的语句
select left(a,charindex(',',a)-1) as '重1左',right(a,charindex(',',a)-1) as '重1右',
left(b,charindex(',',b)-1) as '重2左',right(b,charindex(',',b)-1) as '重2右'
from @table
J. sql语句, 字符串分割做为查询条件
SQL语句如下:
SELECT *
FROM A
WHERE CHARINDEX(ID,'2,3,4')>0
上述SQL语句在SQL Server中进行了测试。