P
puremoonstone
Unregistered / Unconfirmed
GUEST, unregistred user!
我的“承付单表”中有一字段“付款编号”,它的生成规则是:
FK+年份的后两位+大付款编号+小付款编号
大付款编号是记录用户所支付的款项的笔数,小付款编号是记录用户支付一笔款项的次数(
因为可能分多次支付)
付款编号如下:
FK01-1-1,FK01-1-2,FK01-1-3,FK01-2-1,FK01-3-1,...,FK01-100-1,FK01-100-2,...
我想从表中找出大付款编号的最大值
我想先从"FK01-1-3"中得到“1-3”,
a=substring(付款编号,charindex('-',付款编号)+1,len(付款编号))
再从“1-3”中得到“1”
b=substring(a,1,charindex('-',a)-1)
合起来就是
Select Max(convert(int,Substring(substring(付款编号,charindex('-',付款编号)+1,len(付款编号)),1,charindex('-',substring(付款编号,charindex('-',付款编号)+1,len(付款编号)))-1))) as MaxID From 承付单表
我在SQL SERVER中调试成功,但在delphi中提示错误,
[Error] payform.pas(341): Operator not applicable to this operand type
请问该怎么改呢?
程序如下:
with querytemp do
begin
with sql do
begin
close;
clear;
text:='Select Max(convert(int,Substring(substring(付款编号,charindex('-',付款编号)+1,len(付款编号)),1,charindex('-',substring(付款编号,charindex('-',付款编号)+1,len(付款编号)))-1))) as MaxID From 承付单表';
end;
open;
end;
很急!谢谢!
FK+年份的后两位+大付款编号+小付款编号
大付款编号是记录用户所支付的款项的笔数,小付款编号是记录用户支付一笔款项的次数(
因为可能分多次支付)
付款编号如下:
FK01-1-1,FK01-1-2,FK01-1-3,FK01-2-1,FK01-3-1,...,FK01-100-1,FK01-100-2,...
我想从表中找出大付款编号的最大值
我想先从"FK01-1-3"中得到“1-3”,
a=substring(付款编号,charindex('-',付款编号)+1,len(付款编号))
再从“1-3”中得到“1”
b=substring(a,1,charindex('-',a)-1)
合起来就是
Select Max(convert(int,Substring(substring(付款编号,charindex('-',付款编号)+1,len(付款编号)),1,charindex('-',substring(付款编号,charindex('-',付款编号)+1,len(付款编号)))-1))) as MaxID From 承付单表
我在SQL SERVER中调试成功,但在delphi中提示错误,
[Error] payform.pas(341): Operator not applicable to this operand type
请问该怎么改呢?
程序如下:
with querytemp do
begin
with sql do
begin
close;
clear;
text:='Select Max(convert(int,Substring(substring(付款编号,charindex('-',付款编号)+1,len(付款编号)),1,charindex('-',substring(付款编号,charindex('-',付款编号)+1,len(付款编号)))-1))) as MaxID From 承付单表';
end;
open;
end;
很急!谢谢!