数据库里只有日期这个字段没有星期,客户要求显示星期几.用select datename(weekday,日期) from table在SQL可以实现但是在delphi说datenane没有定义,请问各位有没有办法将日期字段生成一个日期字段
沉得太快了~~~快点来人帮忙一下啊~
case dayofweek(date) of
1:result:='星期日';
2:result:='星期一';
3:result:='星期二';
4:result:='星期三';
5:result:='星期四';
6:result:='星期五';
7:result:='星期六';
end;
to:ron_xin(星雨)
这个我知道,我是说在数据库存查询的时候将本来已有的日期转为星期.问题我表达得不够清楚吗?
with adoquery1 do
begin
close;
sql.clear;
sql.text := 'select datename(weekday,日期) week from table ';
open;
showmessage(fieldbyname('week').asstring);
end;
to:47522341(睡到8:30)
一开始我也是使用这种方法,但是delphi执行的时候提示datename未定义,你的可以运行吗?你是怎么处理的?
我用的是ACCESS数据库
dayofweek(date)
那应该是别名的问题~`
select datename(weekday,日期) as datenane from table
我用的是ACCESS数据库!会不会不支持datename??因为我用另外一个SQL数据库表可以执行
在Access里建一个查询,在Delphi里调用这个查询
Access用的函数用在查询里
to:skertone()
可以举个例子吗?
ACCESS不支持吧`~并非SQL所有的函数都能在Access里用的`~
三种方法
1、根据 DATEPART('W',日期) 取出当天是星期几,然后通过IIF转换,反正就是7层
select 日期,IIF(DATEPART('W',日期)=1,'星期天',IIF(DATEPART('W',日期)=2,'星期一','根据IIF继续写下去')) FROM 表
2、根据 DATEPART('W',日期) 取出当天是星期几,在Delphi中通过建立查找字段完成,当然得建立另外一个表保存那个数字对应星期几
3、Delphi通过格式化字段完成
是啊,就是因为datename在access不支持才麻烦.有没有什么好的办法查询的时候显示星期呢?
to:Hank(星星农场)
可以格式化一整个字段的吗?可不可以说明的一下
Hank,你那个IIF是什么意思,delphi总是提示语法错误
俺实在是佩服你
第一种方案是纯SQL的东西,必须在TADOQuery中执行,不知你怎么在Delphi中用的
第三种方法是通过DisplayValue属性设置
哈哈,新手是麻烦点,不好意思.
我是在DAOQuery下执行的,但好像认不了IIF
终于可以通过编译了,看一下数据对不对
Hank(星星农场)你的第一种方法,不是生成了7列??
●function DayOfWeek(Date: TDateTime): Integer;
Description
DayOfWeek 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。
这里 星期日 是一周的第一天,而 星期六 是第七天。
先取出日期,然后再delphi中转变