DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: laidabin
今日帖子: 3
在线用户: 28
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 happyxhl (海柯) ★☆☆☆☆ -
盒子活跃会员
2003/10/13 15:48:38
标题:
ACCESS中分解时间的SQL怎么写 浏览:2903
加入我的收藏
楼主: 一个日期期字段,怎么查询某个月份的记录
如  2003-10-1    我
    2003-10-13   他
    2003-9-12    你
怎样才能查询出10月份的记录?高手相助
----------------------------------------------
我有我风采
作者:
男 zizii (高高高级馒头) ★☆☆☆☆ -
神秘会员
2003/10/13 16:05:54
1楼: month('2003-9-9')
SQL 2000下就是这样,Access得我没有测试过。
----------------------------------------------
维护世界和平,共创美好盒子。
作者:
男 happyxhl (海柯) ★☆☆☆☆ -
盒子活跃会员
2003/10/13 16:24:52
2楼: 多谢,问题解决。
----------------------------------------------
我有我风采
作者:
男 30896186 (缘来一家人) ★☆☆☆☆ -
盒子活跃会员
2003/10/14 15:24:56
3楼: 这是interbase的

Extract 函数的使用

      Extract 属于 SQL 的 DML(即数据库管理语言)函数,同样,Interbase 也支持 Extract,它主要用于从一个日期或时间型的字段内抽取年、月、日、时、分、秒数据,因此,它支持其关健字 YEAR、MONTH、DAY、HOUR、MINUTE、SECOND。

      Extract 的使用语法为:

      EXTRACT(关健字 FROM 日期或时间型字段)


      例如:我们想从一个入库表(RK)的“入库时间(INTIME)”(此入库时间为 TIMESTAMP 型)字段内提取相应的时间数据。有如下形式:

语名 说明 
SELECT EXTRACT(YEAR FROM INTIME) FROM RK 从INTIME字段中提取年份 
SELECT EXTRACT(MONTH FROM INTIME) FROM RK 从INTIME字段中提取月份 
SELECT EXTRACT(DAY FROM INTIME) FROM RK 从INTIME字段中提取日 
SELECT EXTRACT(HOUR FROM INTIME) FROM RK 从INTIME字段中提取时 
SELECT EXTRACT(MINUTE FROM INTIME) FROM RK 从INTIME字段中提取分 
SELECT EXTRACT(SECOND FROM INTIME) FROM RK 从INTIME字段中提取秒 

      
关举一个实际一点的例子:

      假如我们想在一个数据表中生成一个含有发生日期及序列号的关健字段。这种情况在很多数据库应用中都会发生。
      首先,我们应先定义一个 Generator,取名为 AUTOID,然后在相应的表中书写触发器,形式如下:

      CREATE TRIGGER "TRI_BI_AUTOID" FOR "TABLE1" 
      ACTIVE BEFORE INSERT POSITION 0
      AS

      BEGIN
            NEW.PBID=CAST(EXTRACT(YEAR FROM CAST('NOW' AS DATE)) AS VARCHAR(4))||
                  CAST(EXTRACT(MONTH FROM CAST('NOW' AS DATE)) AS VARCHAR(2))||
                  CAST(EXTRACT(DAY FROM CAST('NOW' AS DATE)) AS VARCHAR(2))||
                  CAST(GEN_ID(AUTOID,1) AS VARCHAR(12));
      END

      这样,一个能自动以日期及序列号为代码的字段数据就产生了

----------------------------------------------
-
作者:
男 happyxhl (海柯) ★☆☆☆☆ -
盒子活跃会员
2003/10/14 16:31:25
4楼: 知道,谢谢
----------------------------------------------
我有我风采
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS