日期字段换作字符字段处理?(50分)

  • 主题发起人 主题发起人 glglgl
  • 开始时间 开始时间
G

glglgl

Unregistered / Unconfirmed
GUEST, unregistred user!
日期字段处理总是不太方便,
我以前用字符字段处理就比较方便,
如20000608153012用精确、模糊查询
所用的语句都比较简单,可按年来查,
或按年、月来查。
而用日期字段必须年月日一起输入,如何
算上时间,就复炸了,不过我想用日期字段
是好的编程习惯。
 
各有好处, 比如日期字段可以加加减减, 可以很简单地算出两个日期
之间有几天, 等等.
 
我认为用字串比较好,好处理。至于要加加减减时就先转换一下再运算,
也没什么麻烦的。我支持glglgl
 
local Sql支持extract()函数,用于分离日期字段的年,月,日,小时,分,秒。
EXTRACT(extract_field FROM Field_name)
例如:
SELECT EXTRACT(YEAR FROM HIRE_DATE)
FROM EMPLOYEE
 
用datetime型字段还有其他好处,比如:
1。存储空间较字串要少。
2。数据库系统回自动对输入进行校验,不会出现诸如'20000231'等的错误,
而用字串型只能在程序中检查,编程量大,易有漏洞。
3。若使用Delphi的数据敏感控件绑定数据源时,日期型字段的好处就更明显了,
他可以按照操作系统的设置显示为YYYY-MM-DD,YYYY年MM月DD日等格式,用
字串的话就要自己加分隔符了。
写了两年数据库程序,一直使用日期型,没感到有什么不便的地方。
 
用string也是不错的选择,只需要在输入完毕后判断一下是否合法就行,
try
strtodate(dbedit1.text)
except
showmessage('非法日期');
end;
至于显示格式,用string 型要比date 型灵活的多。
 
各有利弊
 
多人接受答案了。
 
后退
顶部