关于时间处理的问题,求救!(100分)

  • 主题发起人 主题发起人 套牢1
  • 开始时间 开始时间

套牢1

Unregistered / Unconfirmed
GUEST, unregistred user!
我用sql server数据库,怎样才能让数据库只记录年月日,不记录具体的小时,分等信息,
我定义了该时间为datetime,smalldatetime等类型都无效.怎么办;
 
没办法!所有的时间类型都包括了年、月、日、小时、分钟、秒等信息。如果忽略了时间
将记录1。现在的时间(fieldbyname('').asdatetime:=now())
2.一天的开始0:00(fieldbyname('').asdatetime:=strtodatetime('2000.01.01'))
所以你想不记录时间是不可能的

建议你换个思路。查询的时候略过时间只查询日期等等。
你到底为什么只要日期
 
我做了一个查询,要显示数据库的所有记录,但时间总是太长了,显示不下
而且我认为用户也不愿意看到那么长的时间信息,所以我一心想除掉它!!!
 
用COPY函数做一个过程,将时间部分截了。
EASY?
 
有点过分?!!!!
难道就没有通过设置数据库或者delphi控件的方法来实现吗?
 
两个方法
1。在SQL语句中加入格式化函数,直接得到日期。
2。在前台显示控件上设置mask属性,格式化显示查询结果。
如果你SQL熟练用第一个方法最好,如果不熟请告诉你用的是什么控件显示查询结果。
 
如果只是为了显示!你可以这样!
将日期字段的displayformat中写dddddd;
如果是记录,你就听上边朋友说的吧!
 
用的是ADOQuery+DBGrid 来显示,加SQL格式是在Query的SQL中加的吗?
例子:select * from tablename ????????怎么加的?
 
高手们,多发言呀?!
 
1.在sql中添加select 字段,字段,函数(字段) from tablename
可以使用的函数有好几个(我记不清具体名称,你在SQL的BOOKONLINE上查找format,getdate,
date等主题应该可找到)
2.在dbgrid上可以设置fieldmask属性.
 
同MAT,查SQL7的函数。肯定有,我用的是ORACLE。思路一样。
 
我是这样搞定的。
update ***
set FieldbyName('某时间字段名').asDateTime:=
DateToStr(mDateTime);
///mDateTime为Datetime类型数值。
 
把表中的时间均设为 00:00:00 , Delphi调用时将不显示时间。
至于如何把时间设为 00:00:00 , 自己想去吧。
 
我是这样搞定的。
update ***
set FieldbyName('某时间字段名').asDateTime:=
DateToStr(mDateTime);
///mDateTime为Datetime类型数值。
 
有办法的,sql server的时间函数可以解决,自己查一下就知道了,我都做过好几次了
不过不要打算让我告诉你,因为我已经忘了.:)
 
问题已经解决,谢谢诸位
 
后退
顶部