tyzam 2003-08-25 12:19:56
在delphi中用sql从数据库中选取一些数据,其中对某一特定的数据项用一个自写的函数进行处理,要把处理结果和选取的其他数据用DBGrid显示,请问怎么解决,怎么取数据传给变量,处理后的变量再用DBGrid显示
...全文
31 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyzam 2003-08-30
  • 打赏
  • 举报
回复
晕都没人回了,怎么每次我问的结果都是这样的结局呢,还是我自己来揭贴吧。
CREATE FUNCTION DecToData (@Data int)
RETURNS char(15) AS
BEGIN
DECLARE @TempData char(15)
DECLARE @Temp int
set @Temp=(@Data);
while(@Data>30)
set @Data=(@Data/2);
set @TempData=''
if(@Data>15)begin set @TempData='+4' set @Data=(@Data/2) end
if(@Data>7)begin set @TempData='+3'+ CAST(@TempData AS CHAR(10))set @Data=(@Data/2) end
if(@Data>4)begin set @TempData='+2'+CAST(@TempData AS CHAR(10)) end
if((@Temp/2)*2=@Temp) begin set @TempData='1'+CAST(@TempData AS CHAR(10)) end;
else begin set @TempData='0'+CAST(@TempData AS CHAR(10)) end;
return @TempData
END

select dbo.DecToData(控制方式) as 方式 from 表
txlicenhe 2003-08-25
  • 打赏
  • 举报
回复
Create function Test(@aa varchar)
Returns varchar
As
Return left(@aa,4)


select aa,dbo.Test(aa) as bb from 表

pengdali 2003-08-25
  • 打赏
  • 举报
回复
select aa,dbo.函数名(列名) as bb from 表
tyzam 2003-08-25
  • 打赏
  • 举报
回复
同样也感谢 pengdali(大力 V2.0) 的帮助,不过我的函数是自己写的,sql里没有的
tyzam 2003-08-25
  • 打赏
  • 举报
回复
txlicenhe(不做技术高手) ,高啊,佩服。再帮我讲具体点好吗,我的函数是读数据然后由十进制转化得出相应的位是否为1。也就是:
while(x>30)
x=int(x/2);
if(x>15)a[5]=1;x=int(x/2);
if(x>7)a[4]=1;x=int(x/2);
if(x>3)a[3]=1;x=int(x/2);
if(x>1)a[2]=1;x=int(x/2);
if(x=1)a[1]=1;
return a;
再给我讲详细点吧,还有啊,
这段语句是包括在sql语句里的吗,我直接用于查询就可以了吗?
Create function Test(@aa varchar)
Returns varchar
As
Return left(@aa,4)

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧