datetime - 需要帮助将 Sybase 中的字符串转换为日期格式

标签 datetime sybase date-format

我正在尝试将两种类型的字符串转换为日期格式,但是无法执行其中任何一个。

有问题的输入字符串和预期输出如下:

<小时/>

输入1:20100614191522

预期输出 1:2010 年 6 月 14 日 7:15:22 PM

<小时/>

输入 2:2010/12

预期输出 2:2010 年 12 月 1 日 12:00:00 AM

<小时/>

我尝试过,

select convert(datetime,'20100614191522',109) 

我尝试使用“转换”功能使用不同的样式参数。但我总是收到以下错误。 将 VARCHAR 值“20100614191522”显式转换为 DATETIME 字段期间出现语法错误。 消息:249,级别:16,状态:1

你能帮我看看如何实现同样的目标吗?

提前致谢。

最佳答案

您尝试过的样式参数用于将日期时间数据转换为字符类型。这里你要求相反的转换。

输入1

declare @str varchar(20)
set @str = '20100614191522'
select convert(datetime,substring(@str, 5, 2 ) + '/' + substring(@str, 7, 2 ) + '/' + substring(@str, 1, 4 )  + ' ' + substring(@str, 9, 2 )  + ':' + substring(@str, 11, 2 ) + ':' + substring(@str, 13, 2 ) )

给出

Jun 14 2010  7:15PM

输入2

declare @str varchar(20)
set @str = '2010/12'
select convert(datetime, @str + '/01')

给出

Dec  1 2010 12:00AM

关于datetime - 需要帮助将 Sybase 中的字符串转换为日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3090930/

相关文章:

java - 如何在 Java 中迭代以下格式的日期范围 25-12-2012 到 31-12-2012(应保留连字符)?

java - Sybase 和 jdbc- Proc 返回 select 语句 - 记录无法获取

java - TimeZone 在 Android 2.3 的 SimpleDateFormat 中损坏

java - 从 PostgreSQL 时间戳值格式化 java.time Instant 值

java - 从 Hibernate 查询返回具有 null 元素的非空列表

java - 如何使用 SimpleDateFormat 将字符串转换为日期?

c# - 在 C# 中减去时间的最简单方法是什么?

datetime - delphi中如何将字符串转换为日期

java - 如何在 Java 中将本地时间转换为 LDAP 时间戳

java - 如何在java中连接到sybase Advantage db