パフォーマンスモニタは、SQLに直接ログインする際には、データベースを作成する方法ととても親切ではありません失敗しました。そのセルの値が ":12:10.802 2012-01-25 14" である戻りT-SQLの変換は
Conversion failed when converting date and/or time from character string.
。選択時にこれをdatetimeフィールドに変換する正しい方法は何ですか?
パフォーマンスモニタは、SQLに直接ログインする際には、データベースを作成する方法ととても親切ではありません失敗しました。そのセルの値が ":12:10.802 2012-01-25 14" である戻りT-SQLの変換は
Conversion failed when converting date and/or time from character string.
。選択時にこれをdatetimeフィールドに変換する正しい方法は何ですか?
私は次の作品(それは代わりのCHAR(24)
である)ことを考え出し:
select top 1 Cast(Cast(CounterDateTime as CHAR(23)) as datetime) from CounterData
をしかし、より良い解決策があると期待して。
これ以上の回答はありませんが、これは味わいをあまり苦いものにしません。必要とされていないなど、時、分に追加のT-SQLのDateTime切り捨てようCounterDateTime AS
CAST(DATETIME AS CAST(CounterData.CounterDateTime AS CHAR(NN)))
も値を切り捨て。
CONVERT(DATETIME, SUBSTRING(CounterDateTime, 1, 23), 102)
CAST(CounterDateTime as DateTime)を試しましたか? – Akhil
@Akhil:はい同じ結果 –
どのバージョンのMS SQLを使用していますか?それはMS SQLで動作2008 表#Table(CounterDateTime \t CHAR(24)) INSERT INTO #Table(CounterDateTime) \t SELECT '2012-01-25 14:12:10.802' を作成 SELECT CONVERT(日時を、 CounterDateTime)FROM#テーブル – Akhil