CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

请教高手,将两个时间字段的差乘以数字记到第三个字段“计费”中,如何写SQL?

楼主net1999(好人)2003-09-03 22:32:11 在 MS-SQL Server / 基础类 提问

下面的SQL语句在ACCESS中对,在MSSQL中显示错误:  
   
  update   终端日志   set   计费=用时*1*24   where   (计费   is   null)  
   
  错误信息是:  
   
  对数据类型而言运算符无效。运算符为   multiply,类型为   smalldatetime。  
   
  我该怎么办? 问题点数:20、回复次数:3Top

1 楼zarge(鲨去来兮)回复于 2003-09-03 23:07:53 得分 20

计费单位是什么?  
   
  秒:  
  update   终端日志   set   计费   =   datediff(second,   '0:0:0',   用时)   *   1   *   24    
  where   (计费   is   null)  
   
  分:  
  update   终端日志   set   计费   =   datediff(minute,   '0:0:0',   用时)   *   1   *   24    
  where   (计费   is   null)  
   
  小时:  
  秒:  
  update   终端日志   set   计费   =   datediff(hour,   '0:0:0',   用时)   *   1   *   24    
  where   (计费   is   null)  
  Top

2 楼net1999(好人)回复于 2003-09-04 00:59:38 得分 0

谢谢,您真好,我也这样做对了。不过下面这个代码中的SQL语句可以从ACCESSS改为MSSQLSERVER可以认的语句吗?谢谢!(是从已经有的数据中统计学生的欠费情况。  
   
  if   not   dbisaccess   then  
      begin  
      application.MessageBox('当前的数据库系统不是ACCESS的MDB数据库文件,暂不支持本查询功能。','查询',64);  
      exit;  
      end;  
  s:='SELECT   stuno   AS   学生学号,   first(Cname)   AS   姓名,   first(zy)   as   学生专业,   first(bj)   as   所在班级,First(应交费)   AS   已经消费,   sum(交费金额)   AS   交费总额,   交费总额-已经消费   AS   当前余额'+  
        '   FROM   [SELECT   b.stuno,cname,zy,bj,   c.交费金额,   b.应交费   FROM   '+  
        '   (select   stuno,first(中文姓名)   as   Cname   ,   first(专业)   as   zy,first(班级)   as   bj,   sum(计费)   as   应交费   from   '+  
        '   (select   学生档案.学号   as   stuno,中文姓名,专业,班级,计费   from     学生档案   left   join   终端日志   on   学生档案.学号=终端日志.学号)   group   by   stuno)   AS   b'+  
        '   LEFT   JOIN   (select   学号,交费金额   from     交费记录)   AS   c   ON   c.学号=b.stuno].   AS   d'+  
        '   GROUP   BY   stuno';  
  ADOQueryanaly.Close;  
  ADOQueryanaly.SQL.Text:=s;  
  ADOQueryanaly.Open;  
  Top

3 楼zarge(鲨去来兮)回复于 2003-09-04 15:47:39 得分 0

把first换成min或者max试试Top

相关问题

  • 超难度:---这样的SQL操作怎么实现??(三个字段)
  • 请问在SQL SERVER 中如何用查询语言删除PPPP字段中的后三个字符‘123’
  • 如何将表单字段转化为 sql的numeric类型?如何将年月日三个字段转化为sql的日期类型?
  • 如何将第三个字段和第四个字段对掉?
  • 表test中有三个字段:编号 种类 日期, 用SQL语句怎样查找出重复的记录(三者都相同的记录)?
  • 请教:、在SQL Server 数据库中,有一个表StudentAchievement(学生成绩),它有三个字段:StudentID(varchar(8),学生编号),CourseID(var
  • 在SQL Server 数据库中,有一个表StudentAchievement(学生成绩),它有三个字段:StudentID(varchar(8),学生编号),CourseID(varchar(10)
  • 请问:一张表有三个字段,每个字段的行都可能有重复的值,但三个字段的行不会复重。
  • 我的表里有三个字段,我想让头二个字段为主键怎么作,谢谢
  • SQL SERVER 的字段

关键词

  • 学号
  • 终端
  • 语句
  • 学生
  • 专业
  • null
  • 计费
  • 交费
  • stuno
  • adoqueryanaly

得分解答快速导航

  • 帖主:net1999
  • zarge

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo