mysql - 将 varchar 的不同部分转换为日期时间,SQL

标签 mysql sql type-conversion varchar smalldatetime

我有一个 8 位数字的 varchar,我需要将其转换为日期时间。生产编号是下订单时自动生成的编号。例如,生产编号 10090203 实际上是日期时间 2015-10-09 02:03:00。我需要将 varchar 数字列表转换为日期时间,以便我可以将它与日期时间列表进行交叉比较。这是我将 datetime 转换为 varchar 的方法,但我不确定如何反过来。

 SELECT RIGHT('0' + CAST(DATEPART(M, table1.coldatetime) AS varchar), 2) 
+ RIGHT ('0' + Cast(DATEPART(DD, table1.coldatetime) AS varchar), 2) 
+ RIGHT('0' + CAST(DATEPART(HH, table1.coldatetime) AS varchar), 2)
+ RIGHT('0' + CAST(DATEPART(MINUTE, table1.coldatetime) AS varchar), 2)
AS 'CreatedNumber' FROM table1  

最佳答案

这应该适合你:

SELECT   
    DATEADD(mi,CAST(SUBSTRING(table1.coldatetime,7,2) AS INT),DATEADD(hour,CAST(SUBSTRING(table1.coldatetime,5,2) AS INT),CONVERT(datetime,'2015' + LEFT(table1.coldatetime,2)+SUBSTRING(table1.coldatetime,3,2))))
FROM
    table1

关于mysql - 将 varchar 的不同部分转换为日期时间,SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369420/

相关文章:

mysql - 如何创建链接的mysql数据库

mysql - SQL-Query 从 1 列中提取不同的值

c++ - 交换运算符+重载导致无限递归

mysql - 如何使用 sc MySQL 创建 Windows 服务

mysql - mysql表分组时检索最后一条记录

sql - 删除 SQL 中的 CONSTRAINT 花费的时间太长

string - 可以在Go中使用`string()`将字节转换为空字符串吗?

java - 将字符串值转换为 ASCII

mysql - 总是在 SQL 中的最后一个条目之后将新数据插入表中

php - 我如何优化这个搜索结构?