2012-01-26 4 views
1

パフォーマンスモニタは、SQLに直接ログインする際には、データベースを作成する方法ととても親切ではありません失敗しました。そのセルの値が ":12:10.802 2012-01-25 14" である戻りT-SQLの変換は

Conversion failed when converting date and/or time from character string.

。選択時にこれをdatetimeフィールドに変換する正しい方法は何ですか?

+0

CAST(CounterDateTime as DateTime)を試しましたか? – Akhil

+0

@Akhil:はい同じ結果 –

+0

どのバージョンの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

答えて

0

私は次の作品(それは代わりのCHAR(24)である)ことを考え出し:

select top 1 Cast(Cast(CounterDateTime as CHAR(23)) as datetime) from CounterData

をしかし、より良い解決策があると期待して。

0

これ以上の回答はありませんが、これは味わいをあまり苦いものにしません。必要とされていないなど、時、分に追加のT-SQLのDateTime切り捨てようCounterDateTime AS

CAST(DATETIME AS CAST(CounterData.CounterDateTime AS CHAR(NN)))

も値を切り捨て。

0
CONVERT(DATETIME, SUBSTRING(CounterDateTime, 1, 23), 102)