delphi能否实现用sql语句从sql的表中提取数据并进行运算

 我来答
liu55721
2012-09-12 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:887万
展开全部
与DELPHI无关。数据库的表设计有一条重要规则,凡是可以通过表中数据运算可以得出的结果,都不要在表中另设字段。比如单价乘以数量等于金额,那么,金额这个字段就不就该在表中出现。由此可知,在SQL语句中,是可以进行数据运算的;比如表中如果已经有了出生日期这个字段,我们就不在需要年龄这段字段,但是用户在浏览查询的数据的时候,又需要看到年龄,因为谁也不愿意去根据出生年月来搬手指计算年龄。因此我们必须在显示数据的栅格表中添加一列,显示年龄,这个年龄就要在SQL语句中计算了。先在本代码段的BEGIN前面定义一个变量DQRQ:string;然后再代码段中给它赋值:dqrq:=dateTostr(date);
这样我们就可以写如下SQL语句:
'select zyid as 住院号,xm as 姓名,ryrq as 入院日期,(#'+dqrq+'# - csny)/365 as 年龄,'+
'jgys as 经管医生,cyrq as 出院日期,zyfy as 住院费用,'+
'fycdz as 费用承担者,jcrq as 交出日期,scr as 收取人,'+
'gdrq as 归档日期,gdr as 归档人 from bagdb '+
'where jcrq is null and scr is null and cyrq is not null and ryhs is not null '+
'ORDER BY cyrq asc';
请注意“(#'+dqrq+'# - csny)/365 as 年龄”的写法。
这是ACCESS的写法,SQL server 2000的写法有些不同。

SQL server 2000的日期值是不需要#的,它的写法如:
TB_BR_JB.RYRQ BETWEEN '''+edit15.Text+''' AND '''+edit16.Text+''' ';RYRQ(入院日期)在表中是日期型字段。
jnpos
2012-09-12
知道答主
回答量:11
采纳率:0%
帮助的人:1.8万
展开全部
通过select 语句 协同 聚合函数 可以实现提取数据并进行各种运算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式