This is already a valid date - ISO-8601 format - just use:
SELECT CAST('20060508' AS DATETIME)
or alternatively:
SELECT CONVERT(DATETIME, '20060508', 112)
and that should do just fine!
In order to get your "May 08, 2006" display, do another convert into varchar, using the date convert style 107:
SELECT CONVERT(VARCHAR(25), CAST('2006-05-08' AS DATETIME), 107)
See here for more information on casting & converting in MS SQL
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…