首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串日期转换为ODBC规范日期

将字符串日期转换为ODBC规范日期
EN

Stack Overflow用户
提问于 2015-05-27 13:38:11
回答 3查看 3.2K关注 0票数 0

我正在使用SQL 2008 R2。我们有一个第三方软件,它将一个字符串传递给存储的proc。字符串是以下格式的日期:

代码语言:javascript
复制
2015-05-27 11:59pm

我无法访问此格式,并且无法更改它。我需要将此字符串转换为SQL在存储的Proc中正确使用的适当格式。它的问题在于,它忽略了日期的小时和最小部分。

我想要完成的事情的例子:

代码语言:javascript
复制
2015-05-27 11:59pm = 2015-05-27 23:59:00.000
2015-05-27 01:15am = 2015-05-27 01:15:00.000

我试过:

代码语言:javascript
复制
CONVERT(VARCHAR(24),'2015-05-27 11:59pm',121)

将其转换为:

代码语言:javascript
复制
2015-05-27 11:59PM

我尝试过将“2015-05-27 11:59”转换为“日期时间”:

代码语言:javascript
复制
2015-05-27 00:00:00.000

有没有办法转换字符串,保留小时和分钟的部分?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-27 13:41:30

这对我来说很管用:

代码语言:javascript
复制
SELECT CONVERT(datetime, '2015-05-27 11:59pm', 121)
票数 3
EN

Stack Overflow用户

发布于 2015-05-27 13:44:15

这句话:

代码语言:javascript
复制
 CONVERT(VARCHAR(24), '2015-05-27 11:59pm', 121)

是不对的它接受日期字符串,使用内部设置将其转换为日期/时间。然后将该日期/时间转换为字符串。尝试将值直接转换为datetime

代码语言:javascript
复制
 convert(datetime, @param, 121)

但是,我认为您的存储过程最好只使用日期时间参数,而不是字符串。

票数 1
EN

Stack Overflow用户

发布于 2015-05-27 13:41:55

试试这个:

代码语言:javascript
复制
SELECT CONVERT(datetime, '2015-05-27 11:59pm', 0)

输出:

代码语言:javascript
复制
2015-05-27 23:59:00.000
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30484193

复制
相关文章

相似问题

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