2016-11-21 5 views
0

元は、SQL INSERTクエリを持つ.sqlファイルのコンマ区切りのテキストファイルから作成されたExcelがあります。私が持っているいずれかの列でSQLからExcelの日付

:「TIME は明らかにこれはjsondateフォーマットされていないためキャスト(0x123456AB ...)...ので、その質問から助け無し...

私はキャストを置き換えます空の文字列と「時間として(とは置き換え)」。

をだから今、私は16進数で時間値を持っている。

を私はエクセル時間や日時に変換するにはどうすればよい?

+0

明らかに、これはjavadateではありませんが、おそらく似ています。その周りに遊ぶだろう。 – pashute

+0

'= HEX2DEC(Cell)'とし、セル/カラムを日付としてフォーマットします。これは10進数に変換され、日付は10進数になります。 – xQbert

+0

それは十分ではありませんでした。私自身の答えを見てください... – pashute

答えて

0

OKで遊んでそれはまさにそれがthであることを私に示したjqueryの日付の答えと同じです。あなたは0xで始まる数値部分を取る。

  1. 0x後に10桁を取ってください。例えばA2:=MID(A1, 3, 10)

  2. たとえば、16進数にします。 A3の場合:= HEX2DEC(A2)

  3. たとえば86400で割ります。 A4:=A3/86400

  4. 結果を1970年1月1日に追加します。例えば= A5:=A4 + Date(1970, 1, 1)

またはショートで:

=(hex2dec(mid(a1,numstart,10))/86400) + date(1970,1,1) 

数の1-開始インデックスとnumstartを交換。

3あなたは0x12345678ABのように12または13桁の番号を持っていて、12345678AB

を得るでしょう。これは、その除きConvert JSON Date /Date(1388624400000)/ to Date in Excel

に類似している場合:

。問題は誤って答えられ、うまくいかない。 (私はそれを編集した)

b。 .sqlファイルは、SQLを介してデータベースからストアドプロシージャで取得されました。質問では、jQueryが返すajaxデータを使用していましたが、これは異なるようでした。彼らは異なったフォーマットで同じ番号であることが分かります。

追加のコメントとして、私は16進数の冒頭にスペース・マークを付けました。私がMIDをやるまで、私はそれを見ませんでした。

注:AJAXを使用して、日付/のような形式の日付を返しました:HEX2DECが失敗した場合0x12345678ab /あなたはHEX2DECを呼び出す前に大文字 に16進数文字列を回してみてください、8へnumstartを設定します。それぞれの数式を別のセルに入れてデバッグするだけで、動作するものと動作しないものを確認できます。

関連する問題