关于oracle数据表中字符串排序的问题
请问在sql2005数据库中,可写一下函数:
if object_id('orderchar') <>0 drop function orderchar
go
create function OrderChar(@OriStr varchar(100))
returns varchar(100)
as
BEGIN
DECLARE @re varchar(100) --返回值
DECLARE @ch char --一次扫描所存放最小的字符
DECLARE @charnum int --源字符串长度
DECLARE @i int,@j int,@k int --游标
set @charnum=LEN(@Oristr)
set @i=1
set @j=0
while len(@oristr)>0 --外层循环
BEGIN
SET @ch=SUBSTRING(@OriStr,1,1)
set @j=1
while @j <=len(@oristr) --内层循环
BEGIN
if ASCII(SUBSTRING(@OriStr,@j,1)) < ASCII(@ch) --如果OriStr[j]值比ch小,则把OriStr[j]赋值给ch
begin
SET @ch=SUBSTRING(@OriStr,@j,1)
set @k=@j
end
SET @j=@j+1
END
set @re=isnull(@re ,'')+ @ch --把ch追加给re
set @oristr=stuff(@oristr,@k,1,'')
END
return @re
END
GO
SELECT dbo.OrderChar('wangmeng')
aeggmnnw
实现字段内容按字母顺序排序,请问在oracle中怎么写呢?Oracle9i之
相关问答:
我安装一台redhat linux5+oracle 10g的服务器,笔记本(XP系统)安装了oracle 10g客户端,结果老是出12560的错误,请高手指点一二,
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dpor ......
环境:1.win2003server+oracle9i
2.oracle9i字符集为AMERICAN_AMERICA.WE8ISO8859P1
3.oracle sql developer版本 1.5.5
现象描述: 1.在sql developer 中查询oracle中的某个表,中文全部显示为乱码。 ......
with adod_dict do
begin
close;
commandtext:='select bgqxcode,count(*) wjsl from wscl_wsda_file where wjnd=:tnd group by bgqxcode'; ......
本来要写个update语句
update table_a A
set A.flag=1
where A.id in (select B.id from table_b B)
结果误写成
update table_a A
set A.flag=1
where ......
平时都是连接MSSQL 没太注意这个问题..今天因为需要.在网上找了一下..有好多.. 都试了.不行
很多都是报:
未处理的异常;System.Exception System.Data.OracleCilent 需要 Oracle 客户端软件 8.1. ......