のようなVARCHAR
データを変換するにはどうすればよいですか?'20130120161643730'
DATETIME
CONVERT(DATETIME, '20130120161643730')
動作しません。
ただし、CONVERT (DATETIME, '20130120 16:16:43:730')
動作します。正しい形式のデータが必要だと思います。
DATETIME
フォーマットされていないデータから直接変換するために使用できる有効な方法はありますか?
私の解決策は次のとおりです。
DECLARE @Var VARCHAR(100) = '20130120161643730'
SELECT CONCAT(LEFT(@Var,8),' ',SUBSTRING(@var,9,2),':',SUBSTRING(@var,11,2),':',SUBSTRING(@var,13,2),':',RIGHT(@Var,3))
それは正常に動作します。ただし、コンパクトなソリューションを探しています。