在sql server中使用分隔符将没有分隔符的日期和时间转换为日期时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql server中使用分隔符将没有分隔符的日期和时间转换为日期时间相关的知识,希望对你有一定的参考价值。

我想将日期(没有任何分隔符,例如31012015)和时间(没有任何分隔符ex.0144)转换为带分隔符的日期和时间。即

31012015 => 31/01/2015(年/月/日)

0144 => 01:44(hh:mm)

我在sql server中尝试了各种选项(使用各种date-time format),但无法找到它的解决方案。

答案

由于您似乎只关心值的字符串表示,您可以使用STUFF

SELECT STUFF(@time, 3, 0, ':') as NewTime,
  STUFF(STUFF(@date, 3, 0, '/'), 6, 0, '/') as NewDate
另一答案

试试这个

select replace(CONVERT(VARCHAR(10), GETDATE(), 103),'/','') as date_format, 
left(replace(CONVERT(VARCHAR(10), GETDATE(), 108),':',''),4) timeformat

以上是关于在sql server中使用分隔符将没有分隔符的日期和时间转换为日期时间的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 将三个不同的列连接成逗号分隔且没有重复值

基于SQL Server中的分隔符将文本拆分为多列

使用 SQL Server 将逗号分隔的文本转换为多列结果

使用 MS SQL Server 2005,如何将详细记录合并到一个逗号分隔的列表中

SQL Server 2005 中的逗号分隔值插入

需要将一个 150GB 的 SQL Server 表导出到多个管道分隔的平面文件中