sql中如何按某字段值的首字母分组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中如何按某字段值的首字母分组?相关的知识,希望对你有一定的参考价值。
如一字段有值:
x001
x003
p005
y0093
分组结果应为.X=2,p=1,y=1
这里假设这个字段名称为a了,表名为table,
请根据你的实际情况修改一下即可. 参考技术A 设table1字段col1
select ..... from table1 group by left(col1,1) 参考技术B select * from table group by where id like 'x%' 参考技术C select ..... from table1 group by subsrting(col1,1,1) 参考技术D 我赞成muqiao520这们朋友的做法,很好
sql中怎么提取大写字母,例如给了一个人的英文姓名,然后用它们的首字母做缩写,Lily James LJ
参考技术A -----In Oracleselect
replace(
replace(
translate(
'Lily James',
'abcdefghijklmnopqrstuvwxyz',
rapd('#',26,'#')
),
'#',
''),
' ',
'')
from t1
--In MSSQL
create function udf_GetFirst
(
@string varchar(max)
)
return varchar(max)
begin
declare @length int,@increment int,@newString varchar(max)
declare @curChar char(1),@preChar char(1)
set @length=len(@string)
set @increment=1
set @newString=''
set @preChar=' '
set @string=lower(@string)
while @increment<=@length
begin
set @curChar=substring(@string,@increment,1)
set @newString=@newString+
case when @preChar=' '
then upper(@curChar) else @curChar end
set @preChar=@curChar
end
return(@newString)
end
以上是关于sql中如何按某字段值的首字母分组?的主要内容,如果未能解决你的问题,请参考以下文章
sql中怎么提取大写字母,例如给了一个人的英文姓名,然后用它们的首字母做缩写,Lily James LJ