0

YYYY-MM-DD-HH-MM-SS を datetime に変換する方法は?

例: 2013-07-01-18-37-09

私は以下の変換を行うことができます

DECLARE @vardate varchar (50) = '2013-07-01-18-37-09'
SELECT CAST(Substring(@vardate,1,10) AS DATETIME)

SELECT CAST(Substring(REPLACE(@vardate,'-',':'),12,19) AS TIME)

しかし、これは時間とともに機能しません..インターネットで検索したところ、例がYYYY-MM-DD HH:MM:SSに関連していることがわかりました

4

2 に答える 2

4

試す:

DECLARE @vardate varchar (50) = '2013-07-01-18-37-09'
SELECT CAST(LEFT(@varDate, 10) + ' ' + REPLACE(RIGHT(@vardate,8 ), '-', ':') AS DATETIME)
于 2013-07-23T09:47:44.397 に答える
2

日付を日時以外の値として渡さないようにする必要がある多くの理由の 1 つです。これはそれを行う1つの方法です:

DECLARE @vardate varchar (50) = '2013-07-01-18-37-09'

select CONVERT(datetime,STUFF(STUFF(STUFF(@vardate,11,1,'T'),14,1,':'),17,1,':'))
于 2013-07-23T09:51:44.313 に答える