Chinaunix首页 | 论坛 | 博客
  • 博客访问: 131903
  • 博文数量: 37
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-13 17:31
文章分类

全部博文(37)

文章存档

2011年(1)

2010年(9)

2009年(27)

我的朋友

分类: 数据库开发技术

2009-10-31 08:44:52

    前几天,有人问我个问题,是说teradata中有没可以求某年中有多少个星期,并把每个星期天的日期显示出来。当时还真是懵了,没弄过类似的,问了下其他人,终于明白了,可以通过SYS_CALENDAR.CALENDAR来求(看来以后对于系统的表和库要多看下,哎).SQL 如下:
 

SELECT        *
FROM        SYS_CALENDAR.CALENDAR
WHERE        (
        SUBSTR(CAST(CALENDAR_DATE+1 AS DATE FORMAT 'YYYY-MM-DD'),6,2)='01'
        AND        SUBSTR(CAST(CALENDAR_DATE+1 AS DATE FORMAT 'YYYY-MM-DD'),
                9,2)='01'
) --求得年末
        OR        (
        SUBSTR(CAST(CALENDAR_DATE+1 AS DATE FORMAT 'YYYY-MM-DD'),6,2) IN('01',
                '04','07','10')
        AND        SUBSTR(CAST(CALENDAR_DATE+1 AS DATE FORMAT 'YYYY-MM-DD'),
                9,2)='01'
) --求季末
        OR        (
        SUBSTR(CAST(CALENDAR_DATE+1 AS DATE FORMAT 'YYYY-MM-DD'),9,2)='01'
) --求月末
        OR        (
        DAY_OF_WEEK=7
) --求周末
  
只要把选择条件限制成自己需要的就可以求出来了。
阅读(2996) | 评论(0) | 转发(0) |
0

上一篇:DIAGNOSTIC资料

下一篇:节点kill session方法

给主人留下些什么吧!~~