2017-11-09 21 views
0

2つの異なるSQLサーバーに2つのデータセットがあります。DateTime変換エラー - Excel to SQL

Create table #JWTemp1 (AutoID varchar(10), IDNumber varchar(20), AltIDNumber varchar(20), AdmitDTTM datetime, AdmitDay varchar(15), AdmitWeekNo int) 

Insert into #JWTemp1 Values('ID001','BCC445567','ABC445567','42510.7326388889','Friday','21') 
:私はデータセット1を持って、Excelにそれを置くと、私は、サーバーここ2上のデータに対してそれを照会することができるように、一時テーブルにこれを置くつもりきた私が作成したSQLコードがあります

コードを実行するたびに、次のエラーが発生します。

文字列から日付および/または時刻を変換するときに変換に失敗しました。

私はこれが一般的なエラーであることを知っていますが、私はあらゆる方法で試してみたところ、どこにもいません。助言がありますか?

+0

'42510.7326388889'正確に何をしている - 私は、これは有効な' datetime'形式であるとは考えていないので、変換できませんか?その文字列が何を意味するのか説明できますか? – Zak

+0

元のSQLクエリからdatetimeを取り出してExcelに貼り付けると、これはその形式で表示されます。手作業でSQLで変換を行い、正しい形式に変換できます - – Jimmy

+0

実際の日時の値は次のとおりです。2016-05-20 17:35:00.000 – Jimmy

答えて

0

残念ながら、提供された回答のうちのどれもが動作していないようです。しかし、私は次のロジックを使用して問題を解く:

Create table #JWTemp1 (AutoID varchar(10), IDNumber varchar(20), AltIDNumber varchar(20), AdmitDTTM datetime, AdmitDay varchar(15), AdmitWeekNo int) 

Insert into #JWTemp1 Values('ID001','BCC445567','ABC445567','42510.7326388889','Friday','21') 

Select 
convert(datetime, Convert(float,AdmitDTTM)) 
1

文字列を書式設定する必要があります。どのDBを使用しているのか分かりませんが、ここではmySqlの構文があります。

DATE_FORMAT(colName, '%Y-%m-%d') DATEONLY 
DATE_FORMAT(colName,'%H:%i:%s') TIMEONLY