在per表中有个出生日期字段,在用QUERY查询的时候想转换为年龄,并显示出来。
在程序中我市这样计算的
var
j,n,d:integer;
begin
d:=round(now-da.Date) div (365*4) ;
j:=round(now-da.Date)-(d);
n:=j div 365 ;
edit1.Text:=inttostr(n);
end.
但是怎么写到查询的sql语句中去呢。

解决方案 »

  1.   

    试试这样:
    SQL.Add('select 日期列名-CurDate() as 年龄 from 表名');//其中CurDate为取系统的当前日期,是SQL的函数
      

  2.   

    你想怎么算年龄,要精确到天吗?
    还是单单说2003-1981=22的年龄?
    如果是单纯算年,那就这样写SQL语句,然后用Query执行,去“年龄”字段的值就是岁数了
      select CONVERT(INT,DATEPART(YEAR,日期字段名))
             - CONVERT(INT,DATEPART(YEAR,GETDATE())) AS 年龄  FROM 表名 WHERE 条件