Extract
从析取的维度元素中返回元组集合。语法
Extract(«Set», «Dimension»[, «Dimension»...])注释
此函数从析取的 «Dimension» 元素中返回由元组组成的集合。它始终删除重复项。Extract 函数执行的操作与 Crossjoin 函数相反。示例
示例Extract({([1997], Washington), ([1997], California), ([1998], California)}, Time)返回集合{[1997], [1998]}

解决方案 »

  1.   

    Extract
    從引出的維度元件傳回一個 Tuple 集合。.語法
    Extract(«Set», «Dimension»[, «Dimension»...])備註
    這個函數會從引出的«維度»元件傳回由 Tuple  構成之集合,這個函數會移除重複部分。Extract 函數執行與 Crossjoin 函數相反的動作。範例
    下例Extract({([1997], Washington), ([1997], California), ([1998], California)}, Time)傳回下列集合{[1997], [1998]}
      

  2.   

    你不应该用它,它是多维查询语句。你应该用:select year(getdate()) --年
    select month(getdate()) --月
    select day(getdate()) --日
      

  3.   

    DATENAME
    返回代表指定日期的指定日期部分的字符串。语法
    DATENAME ( datepart , date )参数
    datepart是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。日期部分 缩写 
    year yy, yyyy 
    quarter qq, q 
    month mm, m 
    dayofyear dy, y 
    day dd, d 
    week wk, ww 
    weekday dw 
    Hour hh 
    minute mi, n 
    second ss, s 
    millisecond ms 
    weekday (dw) 日期部分返回星期几(星期天、星期一等)。是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。对 1753 年 1 月 1 日之后的日期用datetime 数据类型。更早的日期存储为字符数据。当输入 datetime 值时,始终将其放入引号中。因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。有关时间值指定的更多信息,请参见时间格式。 如果只指定年份的最后两位数字,则小于或等于 two digit year cutoff 配置选项的值的最后两位数字的值所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2050(默认),则 49 被解释为 2049,50 被解释为 1950。为避免模糊,请使用四位数字的年份。返回类型
    nvarchar注释
    SQL Server 自动在字符和 datetime 值间按需要进行转换,例如,当将字符值与 datetime 值进行比较时。 示例
    此示例从 GETDATE 返回的日期中提取月份名。SELECT DATENAME(month, getdate()) AS 'Month Name'下面是结果集:Month Name                     
    ------------------------------ 
    February   
      

  4.   

    DATEPART
    返回代表指定日期的指定日期部分的整数。语法
    DATEPART ( datepart , date ) 参数
    datepart是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。日期部分 缩写 
    year yy, yyyy 
    quarter qq, q 
    month mm, m 
    dayofyear dy, y 
    day dd, d 
    week wk, ww 
    weekday dw 
    Hour hh 
    minute mi, n 
    second ss, s 
    millisecond ms 
    week (wk, ww) 日期部分反映对 SET DATEFIRST 作的更改。任何一年的 1 月 1 日定义了 week 日期部分的开始数字,例如:DATEPART(wk, 'Jan 1, xxxx') = 1,此处 xxxx 代表任一年。weekday (dw) 日期部分返回对应于星期中的某天的数,例如:Sunday = 1、Saturday = 7。weekday 日期部分产生的数取决于 SET DATEFIRST 设定的值,此命令设定星期中的第一天。date是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。对 1753 年 1 月 1 日之后的日期用datetime 数据类型。更早的日期存储为字符数据。当输入 datetime 值时,始终将其放入引号中。因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049 (默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。 返回类型
    int注释
    DAY、MONTH、和 YEAR 函数分别是 DATEPART(dd, date)、DATEPART(mm, date)、和 DATEPART(yy, date) 的同义词。示例
    GETDATE 函数返回当前日期;然而,比较时并不总是需要完整的日期信息(通常只是对日期的一部分进行比较)。此示例显示 GETDATE 及 DATEPART 的输出。SELECT GETDATE() AS 'Current Date'
    GO下面是结果集:Current Date                
    --------------------------- 
    Feb 18 1998 11:46PM         SELECT DATEPART(month, GETDATE()) AS 'Month Number'
    GO下面是结果集:Month Number 
    ------------ 
    2            此示例假设日期是 5 月 29 日。SELECT DATEPART(month, GETDATE())
    GO下面是结果集:----------- 
    5           (1 row(s) affected)在此示例中,以数字表示日期。注意:SQL Server 将 0 解释为 01/01/1900。SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)下面是结果集:----- ------ ------
    1     1      1900