能否用update语句更改日期字段的值?(100分)

  • 主题发起人 主题发起人 leonwang
  • 开始时间 开始时间
可以
用Query.ParamByName('xxxx').asDateTime或者直接将日期写成字符串写
进sql里
 
各种数据库都可以用字符串表示日期,只是格式不同,比如:

interbase:
update xxx set ddd='1999-12-1'

update xxx set ddd='12/1/1999' (informix 支持)

update xxx set ddd='jan 1, 1999' (interbase支持)
 
可以的,方法同eYes所说
 
如果是大型数据库的话,最好使用数据库自己的日期处理函数,
比如SQLServer中使用DatePart、Convert等函数来实现,我在
SQLServer就使用过
update set xxx=convert(datetime, "2/12/1999", 1)来实现过日期,
参数是string,关键是后面的日期类型,看看convert的用法就可以了
 
oracle : to_date
sqlserver: convert
 
为了适用于各种不同的数据库,可以这么写:
在程序中:
var a : TDateTime;
可以(1)a := StrToDateTime('2000-03-03'); 这样要在区域设置中设置日期格式
(2)a := 4.34; 0.00是指'1899-01-01 00:00:00',1代表一天
最后Query1.ParamByName('日期字段').Value := a;
Query1.ExecSQL;

推荐使用第一种方法。
 
多人接受答案了。
 
后退
顶部