首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Sql Server字符串到日期的转换

Sql Server字符串到日期的转换
EN

Stack Overflow用户
提问于 2008-10-16 10:08:52
回答 14查看 1M关注 0票数 204

我想像这样转换一个字符串:

代码语言:javascript
复制
'10/15/2008 10:06:32 PM'

转换为Sql Server中的等效DateTime值。

在Oracle中,我会这样说:

代码语言:javascript
复制
TO_DATE('10/15/2008 10:06:32 PM','MM/DD/YYYY HH:MI:SS AM')

This question意味着我必须将字符串解析为其中一个standard formats,然后使用其中一个代码进行转换。对于这样一个平凡的操作来说,这似乎是可笑的。有没有更简单的方法?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2011-08-24 20:26:06

尝尝这个

代码语言:javascript
复制
Cast('7/7/2011' as datetime)

代码语言:javascript
复制
Convert(varchar(30),'7/7/2011',102)

有关更多详细信息,请参阅CAST and CONVERT (Transact-SQL)

票数 333
EN

Stack Overflow用户

发布于 2008-10-16 02:30:50

在您的查询处理器中运行此命令。它像这样格式化日期和/或时间,其中之一应该会给你你正在寻找的东西。适应起来并不难:

代码语言:javascript
复制
Declare @d datetime
select @d = getdate()

select @d as OriginalDate,
convert(varchar,@d,100) as ConvertedDate,
100 as FormatValue,
'mon dd yyyy hh:miAM (or PM)' as OutputFormat
union all
select @d,convert(varchar,@d,101),101,'mm/dd/yy'
union all
select @d,convert(varchar,@d,102),102,'yy.mm.dd'
union all
select @d,convert(varchar,@d,103),103,'dd/mm/yy'
union all
select @d,convert(varchar,@d,104),104,'dd.mm.yy'
union all
select @d,convert(varchar,@d,105),105,'dd-mm-yy'
union all
select @d,convert(varchar,@d,106),106,'dd mon yy'
union all
select @d,convert(varchar,@d,107),107,'Mon dd, yy'
union all
select @d,convert(varchar,@d,108),108,'hh:mm:ss'
union all
select @d,convert(varchar,@d,109),109,'mon dd yyyy hh:mi:ss:mmmAM (or PM)'
union all
select @d,convert(varchar,@d,110),110,'mm-dd-yy'
union all
select @d,convert(varchar,@d,111),111,'yy/mm/dd'
union all
select @d,convert(varchar,@d,12),12,'yymmdd'
union all
select @d,convert(varchar,@d,112),112,'yyyymmdd'
union all
select @d,convert(varchar,@d,113),113,'dd mon yyyy hh:mm:ss:mmm(24h)'
union all
select @d,convert(varchar,@d,114),114,'hh:mi:ss:mmm(24h)'
union all
select @d,convert(varchar,@d,120),120,'yyyy-mm-dd hh:mi:ss(24h)'
union all
select @d,convert(varchar,@d,121),121,'yyyy-mm-dd hh:mi:ss.mmm(24h)'
union all
select @d,convert(varchar,@d,126),126,'yyyy-mm-dd Thh:mm:ss:mmm(no spaces)'
票数 54
EN

Stack Overflow用户

发布于 2008-10-29 20:33:17

SQL Server (2005、2000、7.0)没有任何灵活或甚至不灵活的方法来获取任意结构的字符串格式的日期时间,并将其转换为日期时间数据类型。

我所说的“任意的”,是指“一种形式,写它的人,虽然可能不是你或我或地球另一端的人,会认为是直观的和完全显而易见的。”坦率地说,我不确定是否有这样的算法。

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/207190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档