将日期转换成字符串
如
日期为2004-03-02 转为字符形式 20040302
日期为2004-3-2 转为字符形式也要为 20040302
将时间转换成字符串
如
时间为19:22:22 转为字符形式 192222
时间为1:1:1 转为字符形式也要为 010101
能够分辨24小时制与12小时制,统一按24小时输出字符串acess中有个字段为日期/时间型,但是我仅存放时间,怎样用sql查出来仅时间部分!谢谢!答案精彩另外加分!
如
日期为2004-03-02 转为字符形式 20040302
日期为2004-3-2 转为字符形式也要为 20040302
将时间转换成字符串
如
时间为19:22:22 转为字符形式 192222
时间为1:1:1 转为字符形式也要为 010101
能够分辨24小时制与12小时制,统一按24小时输出字符串acess中有个字段为日期/时间型,但是我仅存放时间,怎样用sql查出来仅时间部分!谢谢!答案精彩另外加分!
解决方案 »
- Delphi调试问题!急!!!
- 如何判断webbrowser打开网页中的部分文本是否被选中
- 如何得到cxgrid当前编辑字段的值, 用cxGrid1DBTableView1.DataController.DataSource.DataSet.FieldByName('SFX').AsString总是得到上一
- Fastreport中把表中的1列数据分4列打印在整张纸上怎么做
- 有关DevExpress显示乱码的问题
- 怎么在.ActiveFormCreate时得到网页所传递的参数???
- dbExpress连接SQLSERVER2000的问题?
- 关于OLE嵌入Word对象,大家一起讨论讨论,另外开帖加分,见者有份
- 管理系统编译问题,请帮忙解决
- 一只菜鸟求教一个字符转换的问题。。。。?
- c/s数据库开发的问题.
- 求助
是这样的,但是我想用sql 查询这个字段的时候,让它已标准的时间格式现实,如果您有什么好方法,谢谢;数据库access 2000
~~~~~~~~~~~~~~~~~~~~~~~~~
更正一下,日期是Delphi自动加上去的,从下面可以看出来
~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'Select * from TableOne where TimeValue > :StrartTime and TimeValue < :EndTime';
ADOQuery1.Parameters.ParamValues['StrartTime'] := StrTotime('14:50');
ADOQuery1.Parameters.ParamValues['EndTime'] := time;
ADOQuery1.Open;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm1.ADOQuery1TIMEvalueGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text := Sender.Value;
end;
您答案对于本题目是错误的!!!我想查询出来,比如
select starttime from abc这个starttime是时间型的,但是返回 1899-12-30 18:00:09形式,我仅仅需要 18:00:09形式还有作为条件的时候,怎么用字符串连接的形式查出来,不需要参数形式谢谢
Formatdate('YYYYmmDDHHMMSS',Now); // 20040410173640
你有没有好好看看代码?
主要的处理就是在时间字段的OnGetText中的Text := Sender.Value一行
请问adoquery中有这个OnGetText事件吗?
请问adoquery中有这个OnGetText事件吗?
兄弟,我的ADOQuery1.Connection 与
ADOQuery1.SQL.Text都是动态赋予的
不能像你那样用Fields Editor来处理的!但是还是谢谢你的答案!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
事件处理过程也可以动态赋值啊!!
Button1: TButton;
ADOQuery1: TADOQuery;
procedure Button1Click(Sender: TObject);
procedure ADOQuery1TimeValueGetText(Sender: TField; var Text: String; DisplayText: Boolean); //This...
private
public
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close; ADOQuery1.FieldDefs.Clear; With ADOQuery1.FieldDefs.AddFieldDef do
begin
Name := 'ID';
DataType := ftWideString;
end; With ADOQuery1.FieldDefs.AddFieldDef do
begin
Name := 'TimeValue';
DataType := ftTime;
end; ADOQuery1.FieldByName('TimeValue').OnGetText := ADOQuery1TimeValueGetText; ADOQuery1.SQL.Text := 'Select * from TableOne where TimeValue > :StrartTime and TimeValue < :EndTime';
ADOQuery1.Parameters.ParamValues['StrartTime'] := StrTotime('14:50');
ADOQuery1.Parameters.ParamValues['EndTime'] := time;
ADOQuery1.Open;
end;procedure TForm1.ADOQuery1TimeValueGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text := Sender.Value;
end;
ADOQuery1.FieldByName('TimeValue').OnGetText := ADOQuery1TimeValueGetText;
sqlscript := sqlscript+ ' where day_card.date_day=#' + datetostr(dtpstart.Date+1) + '# AND DATE_TIME>FORMAT('''+timestart+''',''HH:NN:ss'') AND DATE_TIME<FORMAT('''+timeend+''',''HH:NN:ss'')';
with adoque do
begin
active:=false;
sql.clear;
sql.add(sqlscript)
active:=true;
end;
....
timestart:=timetostr('07:00');
timeend:=timetostr('10:01' );'