将SQL中的日期格式从yyyymmdd转换为yyyy mm dd格式的最佳方法

将SQL中的日期格式从yyyymmdd转换为yyyy mm dd格式的最佳方法,sql,sql-server,Sql,Sql Server,我有一组日期,格式为yyyymmdd,没有分隔“-”的日期。仅使用具有只读访问权限的SQL更改为yyyy mm dd格式的最简单方法是什么。 i、 e 20111230->2011-12-30 一行或最佳性能的解决方案,最好是在Microsoft SQL中工作我想你发布这个问题比搜索谷歌花的时间更长! DECLARE @dtr VARCHAR(25) = '20111230' SELECT CONVERT(char(10),CAST(@dtr AS DATE),126) -- sqlserv

我有一组日期,格式为yyyymmdd,没有分隔“-”的日期。仅使用具有只读访问权限的SQL更改为yyyy mm dd格式的最简单方法是什么。 i、 e 20111230->2011-12-30


一行或最佳性能的解决方案,最好是在Microsoft SQL中工作

我想你发布这个问题比搜索谷歌花的时间更长!
DECLARE @dtr VARCHAR(25) = '20111230'

SELECT CONVERT(char(10),CAST(@dtr AS DATE),126)

-- sqlserver 2012
SELECT FORMAT(CAST(@dtr AS DATE),'yyyy-MM-dd' )