chr sqlserver_sqlserver根据拼音首字母查询数据

create

function

f_GetPy

(

@Str

nvarchar

(

400

))

returns

nvarchar

(

4000

)

as

begin

declare

@strlen

int

,

@re

nvarchar

(

4000

)

declare

@t

table

(

chr

nchar

(

1

)

collate

Chinese_PRC_CI_AS

,

letter

nchar

(

1

))

insert

@t

select

'

'

,

'A'

union

all

select

'

'

,

'B'

union

all

select

'

'

,

'C'

union

all

select

'

'

,

'D'

union

all

select

'

'

,

'E'

union

all

select

'

'

,

'F'

union

all

select

'

'

,

'G'

union

all

select

'

'

,

'H'

union

all

select

'

'

,

'J'

union

all

select

'

'

,

'K'

union

all

select

'

'

,

'L'

union

all

select

'

'

,

'M'

union

all

select

'

'

,

'N'

union

all

select

'

'

,

'O'

union

all

select

'

'

,

'P'

union

all

select

'

'

,

'Q'

union

all

select

'

'

,

'R'

union

all

select

'

'

,

'S'

union

all

select

'

'

,

'T'

union

all

select

'

'

,

'W'

union

all

select

'

'

,

'X'

union

all

select

'

'

,

'Y'

union

all

select

'

'

,

'Z'

select

@strlen

=

len

(

@str

),

@re

=

''

while

@strlen

>

0

begin

select

top

1

@re

=

letter

+

@re

,

@strlen

=

@strlen

-

1

from

@t

a

where

chr

<=

substring

(

@str

,

@strlen

,

1

)

order

by

chr

desc

if

@@rowcount

=

0

select

@re

=

substring

(

@str

,

@strlen

,

1

)+

@re

,

@strlen

=

@strlen

-

1

end

return

(

@re

)

end

go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值