これはすでに有効な日付です-ISO-8601形式-使用するだけです:
SELECT CAST('20060508' AS DATETIME)
または代わりに:
SELECT CONVERT(DATETIME, '20060508', 112)
うまくいくはずです!
「2006年5月8日」を表示するには、日付変換スタイル107を使用してvarcharに別の変換を行います。
SELECT CONVERT(VARCHAR(25), CAST('2006-05-08' AS DATETIME), 107)
こちら を参照してください。 MSSQLでのキャストと変換の詳細については