在开发客户端应用时,如何判断和获取数据库服务器的日期时间格式?这个属性是在服务器端配置的还是在客户端连接的参数中设置的?因为在实际开发过程中需要对日期时间进行较精确(具体到秒)的匹配,比如某字段CreateDateTime,需要进行.... where createDateTime >= X ,假如X为2011年7月5日上午6点15分24秒,我想根据服务器/当前连接属性,来确定这个X中的年月日,时分秒如何组织,似乎不同的服务器设置有不同的格式实际上,就是想有没有类似于oracle的to_date之类的功能,谢谢

解决方案 »

  1.   

    用convertSELECT CONVERT(VARCHAR(30),GETDATE(),120)
    SELECT CONVERT(VARCHAR(30),GETDATE(),112)
    SELECT CONVERT(VARCHAR(30),GETDATE(),108)
    /*
    2011-07-05 07:20:49
    20110705
    07:20:49
    */
      

  2.   

    select covert(varchar(30),getdate(),120)
      

  3.   

    convert()
    cast()SELECT CONVERT(VARCHAR(30),GETDATE(),120)
      

  4.   

    --codeconvert()
    --cast()SELECT CONVERT(VARCHAR(30),GETDATE(),120)
    SELECT CONVERT(VARCHAR(30),GETDATE(),112)
    SELECT CONVERT(VARCHAR(30),GETDATE(),108)
      

  5.   

    类似ORACLE中的TO_DATE,楼主可以看下SQL中的CONVERT转换函数,中有日期转换的格式。也可以利用 year()  month()  datepart() 等函数。
      

  6.   

    http://www.w3school.com.cn/sql/func_convert.aspconvert 函数
      

  7.   

    --日期转换参数,值得收藏
    select CONVERT(varchar, getdate(), 120 )
    2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    20040912110608select CONVERT(varchar(12) , getdate(), 111 )
    2004/09/12select CONVERT(varchar(12) , getdate(), 112 )
    20040912select CONVERT(varchar(12) , getdate(), 102 )
    2004.09.12其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )
    09/12/2004select CONVERT(varchar(12) , getdate(), 103 )
    12/09/2004select CONVERT(varchar(12) , getdate(), 104 )
    12.09.2004select CONVERT(varchar(12) , getdate(), 105 )
    12-09-2004select CONVERT(varchar(12) , getdate(), 106 )
    12 09 2004select CONVERT(varchar(12) , getdate(), 107 )
    09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )
    11:06:08select CONVERT(varchar(12) , getdate(), 109 )
    09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )
    09-12-2004select CONVERT(varchar(12) , getdate(), 113 )
    12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )
    11:06:08.177
      

  8.   

    大家说的convert是从日期型转向字符型,这个在很多资料上都有讲
    而to_date则是从字符型转向日期型,我需要的是这样的一个转换函数或功能,所以我想知道服务器上的日期时间格式,以方便准备字符来转换成日期。
    当然,我现在用的是convert,然后用字串比较的方式来处理,这个在客户端使用过程中总是觉得有所不便,并且我感觉sqlserver应当提供一个比较明确的将字串转换为日期的函数才好
    比如类似于select convert(smalldatetime,'20100101010101')所以我想从服务器的设置的日期时间格式入手,知道了其格式,将客户端的日期准备成服务器上的格式,然后转换成日期在数据库中进行匹配操作。
    楼上多人已经给出了重复的答案,后边的朋友就不要再多作重复了,并且我也有用convert的方法来处理,现在希望能得到关于从字串转向日期的帮助,或者其它更便捷的方式谢谢