在开发客户端应用时,如何判断和获取数据库服务器的日期时间格式?这个属性是在服务器端配置的还是在客户端连接的参数中设置的?因为在实际开发过程中需要对日期时间进行较精确(具体到秒)的匹配,比如某字段CreateDateTime,需要进行.... where createDateTime >= X ,假如X为2011年7月5日上午6点15分24秒,我想根据服务器/当前连接属性,来确定这个X中的年月日,时分秒如何组织,似乎不同的服务器设置有不同的格式实际上,就是想有没有类似于oracle的to_date之类的功能,谢谢
SELECT CONVERT(VARCHAR(30),GETDATE(),112)
SELECT CONVERT(VARCHAR(30),GETDATE(),108)
/*
2011-07-05 07:20:49
20110705
07:20:49
*/
cast()SELECT CONVERT(VARCHAR(30),GETDATE(),120)
--cast()SELECT CONVERT(VARCHAR(30),GETDATE(),120)
SELECT CONVERT(VARCHAR(30),GETDATE(),112)
SELECT CONVERT(VARCHAR(30),GETDATE(),108)
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
而to_date则是从字符型转向日期型,我需要的是这样的一个转换函数或功能,所以我想知道服务器上的日期时间格式,以方便准备字符来转换成日期。
当然,我现在用的是convert,然后用字串比较的方式来处理,这个在客户端使用过程中总是觉得有所不便,并且我感觉sqlserver应当提供一个比较明确的将字串转换为日期的函数才好
比如类似于select convert(smalldatetime,'20100101010101')所以我想从服务器的设置的日期时间格式入手,知道了其格式,将客户端的日期准备成服务器上的格式,然后转换成日期在数据库中进行匹配操作。
楼上多人已经给出了重复的答案,后边的朋友就不要再多作重复了,并且我也有用convert的方法来处理,现在希望能得到关于从字串转向日期的帮助,或者其它更便捷的方式谢谢