SQL Server:将YYYYMMDD-HHMMSS传输到mm / dd / yyyy hh:mm:ss [英] SQL Server: Transfer YYYYMMDD-HHMMSS to mm/dd/yyyy hh:mm:ss

查看:278
本文介绍了SQL Server:将YYYYMMDD-HHMMSS传输到mm / dd / yyyy hh:mm:ss的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的SQL Server系统是2016。

作为主题,我想将YYYYMMDD-HHMMSS转换为mm / dd / yyyy hh: mm:ss,并使用动态SQL来实现。

As topic, I want to convert YYYYMMDD-HHMMSS to mm/dd/yyyy hh:mm:ss, and use dynamic SQL to fulfill this.

我的数据如下:

      ID
20161119-075950
20161117-110952
20161118-153406

数据类型为nvarchar。

The datatype is nvarchar.

虽然我使用以下语法:

SELECT convert(date,convert(varchar(max),id,130), 130) from abc

$ b中选择convert(date,convert(varchar(max),id,130),130)
$ b

错误从字符串转换日期和/或时间时转换失败。显示。我在考虑是否是因为SQL Server无法将此 YYYYMMDD-HHMMSS 标识为日期类型,所以我需要先将其转换为 YYYYMMDD hh:mm:ss ,然后将其转换为 mm / dd / yyyy hh:mm:ss ?随意点灯。

An error Conversion failed when converting date and/or time from character string. shows up. I am thinking whether it is because SQL Server cannot identify this YYYYMMDD-HHMMSS as date type, and I need to convert this to YYYYMMDD hh:mm:ss first and then mm/dd/yyyy hh:mm:ss? Feel free to shed some lights. Thanks!

推荐答案

Select CONVERT(VARCHAR(25) , CAST(LEFT(ID , 8) AS DATETIME), 101) 
       + ' ' +  LEFT(RIGHT(ID , 6) ,2) + ':' 
       + SUBSTRING(RIGHT(ID , 6) , 3,2) + ':' 
       + RIGHT(ID , 2) 
FROM TableName 

这篇关于SQL Server:将YYYYMMDD-HHMMSS传输到mm / dd / yyyy hh:mm:ss的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆