Select A.操作员姓名,to_date(to_char(A.收款时间,'yyyy-mm-dd' ),'yyyy-mm-dd')  as 日期,Sum(A.金额) As 实收
From 病人预交记录 A
Where  记录性质=1  Group by A.操作员姓名,A.收款时间 having Sum(A.金额)<>0
就这条语句但是,我想加的条件是加入 收款时间这个条件,比如我想查询 2012年7月3号 这天的数据怎么写。
数据库里有数据,他的时间 格式是  2012-12-12 12:33:22  这样的,

解决方案 »

  1.   


    --或写成trunc(收款时间)=to_date('2012-07-03','yyyy-mm-dd')都可以
    Select A.操作员姓名,to_date(to_char(A.收款时间,'yyyy-mm-dd' ),'yyyy-mm-dd') as 日期,Sum(A.金额) As 实收
    From 病人预交记录 A
    Where 记录性质=1 
    and to_char(收款时间,'yyyy-mm-dd')='2012-07-03'--这样写
    Group by A.操作员姓名,A.收款时间 having Sum(A.金额)<>0
      

  2.   

    Group by A.操作员姓名,A.收款时间
    要改成
    Group by A.操作员姓名,to_date(to_char(A.收款时间,'yyyy-mm-dd' ),'yyyy-mm-dd')要不然不会累加
      

  3.   

    Select A.操作员姓名,to_date(to_char(A.收款时间,'yyyy-mm-dd' ),'yyyy-mm-dd') as 日期,Sum(A.金额) As 实收
    From 病人预交记录 A
    Where 记录性质=1 
    and to_char(收款时间,'yyyy-mm-dd')='2012-07-03'--这样写
    Group by A.操作员姓名,A.收款时间 having Sum(A.金额)<>0
      

  4.   

    若收款时间是日期型的则
    to_char(收款时间,'yyyy-mm-dd')='2012-07-03'若收款时间是文本型的则
    to_char(to_date(收款时间,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd')='2012-07-03'
      

  5.   

    to_char(日期类型,'yyyy-mm-dd')='2012-07-03'
    to_char(to_date(文本类型,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd')='2012-07-03'
      

  6.   

    字段名=to_date('2012-07-03','yyyy-mm-dd')这样效率快一些