sqlserver2K下如何取得数据库的日期时间格式?

林石公 2011-07-05 06:09:31
在开发客户端应用时,如何判断和获取数据库服务器的日期时间格式?这个属性是在服务器端配置的还是在客户端连接的参数中设置的?

因为在实际开发过程中需要对日期时间进行较精确(具体到秒)的匹配,比如某字段CreateDateTime,需要进行

.... where createDateTime >= X ,假如X为2011年7月5日上午6点15分24秒,我想根据服务器/当前连接属性,来确定这个X中的年月日,时分秒如何组织,似乎不同的服务器设置有不同的格式

实际上,就是想有没有类似于oracle的to_date之类的功能,谢谢
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
林石公 2011-07-05
  • 打赏
  • 举报
回复
大家说的convert是从日期型转向字符型,这个在很多资料上都有讲
而to_date则是从字符型转向日期型,我需要的是这样的一个转换函数或功能,所以我想知道服务器上的日期时间格式,以方便准备字符来转换成日期。
当然,我现在用的是convert,然后用字串比较的方式来处理,这个在客户端使用过程中总是觉得有所不便,并且我感觉sqlserver应当提供一个比较明确的将字串转换为日期的函数才好
比如类似于select convert(smalldatetime,'20100101010101')

所以我想从服务器的设置的日期时间格式入手,知道了其格式,将客户端的日期准备成服务器上的格式,然后转换成日期在数据库中进行匹配操作。
楼上多人已经给出了重复的答案,后边的朋友就不要再多作重复了,并且我也有用convert的方法来处理,现在希望能得到关于从字串转向日期的帮助,或者其它更便捷的方式

谢谢
--小F-- 2011-07-05
  • 打赏
  • 举报
回复
--日期转换参数,值得收藏
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
hanger1212 2011-07-05
  • 打赏
  • 举报
回复
http://www.w3school.com.cn/sql/func_convert.asp

convert 函数
AcHerat 元老 2011-07-05
  • 打赏
  • 举报
回复
类似ORACLE中的TO_DATE,楼主可以看下SQL中的CONVERT转换函数,中有日期转换的格式。

也可以利用 year() month() datepart() 等函数。
andysun88 2011-07-05
  • 打赏
  • 举报
回复


--codeconvert()
--cast()

SELECT CONVERT(VARCHAR(30),GETDATE(),120)
SELECT CONVERT(VARCHAR(30),GETDATE(),112)
SELECT CONVERT(VARCHAR(30),GETDATE(),108)

xuam 2011-07-05
  • 打赏
  • 举报
回复
convert()
cast()

SELECT CONVERT(VARCHAR(30),GETDATE(),120)
weidehao555 2011-07-05
  • 打赏
  • 举报
回复
select covert(varchar(30),getdate(),120)
老潘 2011-07-05
  • 打赏
  • 举报
回复
用convert

SELECT 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
*/

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧