数据库里只有日期这个字段没有星期,客户要求显示星期几.用select datename(weekday,日期) from table在SQL可以实现但是在delphi说datenane没有定义,请问各位有没有办法将日期字段生成一个日期字段

解决方案 »

  1.   

    case dayofweek(date) of
        1:result:='星期日';
        2:result:='星期一';
        3:result:='星期二';
        4:result:='星期三';
        5:result:='星期四';
        6:result:='星期五';
        7:result:='星期六';
      end;
      

  2.   

    to:ron_xin(星雨)
    这个我知道,我是说在数据库存查询的时候将本来已有的日期转为星期.问题我表达得不够清楚吗?
      

  3.   

    with adoquery1 do
    begin
      close;
      sql.clear;
      sql.text := 'select datename(weekday,日期)  week from table ';
      open;
      showmessage(fieldbyname('week').asstring);
    end;
      

  4.   

    to:47522341(睡到8:30)
    一开始我也是使用这种方法,但是delphi执行的时候提示datename未定义,你的可以运行吗?你是怎么处理的?
      

  5.   

    那应该是别名的问题~`
    select datename(weekday,日期) as datenane from table
      

  6.   

    我用的是ACCESS数据库!会不会不支持datename??因为我用另外一个SQL数据库表可以执行
      

  7.   

    在Access里建一个查询,在Delphi里调用这个查询Access用的函数用在查询里
      

  8.   

    to:skertone()
    可以举个例子吗?
      

  9.   

    ACCESS不支持吧`~并非SQL所有的函数都能在Access里用的`~
      

  10.   

    三种方法
    1、根据 DATEPART('W',日期) 取出当天是星期几,然后通过IIF转换,反正就是7层select 日期,IIF(DATEPART('W',日期)=1,'星期天',IIF(DATEPART('W',日期)=2,'星期一','根据IIF继续写下去')) FROM 表2、根据 DATEPART('W',日期) 取出当天是星期几,在Delphi中通过建立查找字段完成,当然得建立另外一个表保存那个数字对应星期几3、Delphi通过格式化字段完成
      

  11.   

    是啊,就是因为datename在access不支持才麻烦.有没有什么好的办法查询的时候显示星期呢?
      

  12.   

    to:Hank(星星农场) 
    可以格式化一整个字段的吗?可不可以说明的一下
      

  13.   

    Hank,你那个IIF是什么意思,delphi总是提示语法错误
      

  14.   

    俺实在是佩服你第一种方案是纯SQL的东西,必须在TADOQuery中执行,不知你怎么在Delphi中用的第三种方法是通过DisplayValue属性设置
      

  15.   

    哈哈,新手是麻烦点,不好意思.
    我是在DAOQuery下执行的,但好像认不了IIF
      

  16.   

    Hank(星星农场)你的第一种方法,不是生成了7列??
      

  17.   

    ●function DayOfWeek(Date: TDateTime): Integer;DescriptionDayOfWeek returns the day of the week of the specified date as 
    an integer between
    1 and 7, where Sunday is the first day of the week and 
    Saturday is the seventh.Note: DayOfWeek is not compliant with the ISO 8601 standard, 
    which defines Monday
    as the first day of the week. For an ISO 8601 compliant 
    version, use the DayOfTheWeek
    function instead.描述:
    按照给定的TDateTime类型的参数Date,DayOfWeek 函数得到一周中的第几天,从1到7。
    这里 星期日 是一周的第一天,而 星期六 是第七天。
      

  18.   

    先取出日期,然后再delphi中转变