表 table1中有一个 时间字段 用getdate() 自动获取系统时间 是带有时分秒的
我想取出某一天的信息片么取呀大家帮帮忙

解决方案 »

  1.   

    不知道,楼主的具体意思,但你可以看下sql server的联机丛书日期和时间函数
    这些标量函数对日期和时间输入值执行操作,并返回一个字符串、数字值或日期和时间值。下表列出日期和时间函数以及它们的确定性属性。有关函数确定性的更多信息,请参见确定性函数和非确定性函数。函数 确定性 
    DATEADD 具有确定性 
    DATEDIFF 具有确定性 
    DATENAME 不具有确定性 
    DATEPART 除了用作 DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST 所设置的值。 
    DAY 具有确定性 
    GETDATE 不具有确定性 
    GETUTCDATE 不具有确定性 
    MONTH 具有确定性 
    YEAR 具有确定性 请参见函数
      

  2.   

    可能楼主要用的是DATEPART函数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
    请参见CAST 和 CONVERT 数据类型日期和时间函数 
      

  3.   

    string time = datetime.now();
    string date = time.date();
    string year = time.year();具体的忘了,大概是这样吧!!
      

  4.   

    关于getdate()的设置:
    select CONVERT(varchar, getdate(), 120 ) 
    2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),\'-\',\'\'),\' \',\'\'),\':\',\'\') 
    20040912110608 select CONVERT(varchar(12) , getdate(), 111 ) 
    2004/09/12 select CONVERT(varchar(12) , getdate(), 112 ) 
    20040912 select CONVERT(varchar(12) , getdate(), 102 ) 
    2004.09.12 select CONVERT(varchar(12) , getdate(), 101 ) 
    09/12/2004 select CONVERT(varchar(12) , getdate(), 103 ) 
    12/09/2004 select CONVERT(varchar(12) , getdate(), 104 ) 
    12.09.2004 select CONVERT(varchar(12) , getdate(), 105 ) 
    12-09-2004 select CONVERT(varchar(12) , getdate(), 106 ) 
    12 09 2004 select CONVERT(varchar(12) , getdate(), 107 ) 
    09 12, 2004 select CONVERT(varchar(12) , getdate(), 108 ) 
    11:06:08 select CONVERT(varchar(12) , getdate(), 109 ) 
    09 12 2004 1 select CONVERT(varchar(12) , getdate(), 110 ) 
    09-12-2004 select CONVERT(varchar(12) , getdate(), 113 ) 
    12 09 2004 1 select CONVERT(varchar(12) , getdate(), 114 ) 
    11:06:08.177
      

  5.   

    --取出2006年11月12号的所有记录
    select * from yourTable where datediff(day,yourDateColumn,'2006-11-12')=0
      

  6.   

    --取出2006年11月12号的所有记录
    select * from yourTable where datediff(day,yourDateColumn,'2006-11-12')=0
       
       OK