回答

收藏

将Excel日期序列号转换为常规日期

技术问答 技术问答 447 人阅读 | 0 人回复 | 2023-09-14

我在具有Excel Date序列号Date的csv文件中得到了名为DateOfBirth的列
4 y; D7 l- k! G  I5 _! _例子:
# U7 G1 m, Y/ H3 X* O  G% m  36464/ C2 o$ I5 o1 K" D) I" [$ k* B
  37104
8 T6 u6 w8 k1 F! w7 s. F; o$ }6 q  35412
8 y- E# e; {1 B5 I/ W  k; |
, v/ [: k3 k; n/ d( s当我在excel中格式化单元格时,这些将转换为$ L3 F8 u5 B0 ?! o; _! F
  36464 => 1/11/1999# g3 M% b" Y2 ^) m
  37104 => 1/08/2001
5 d; Q& B) ^# m. |) A' ]0 H' d  35412 => 13/12/1996
4 z0 d  F; i) ~1 F- J7 k" ^
' T! k7 Q# s" ?: }  M  b6 t我需要在SSIS或SQL中进行此转换。如何做到这一点?
& C, O2 t' l/ i  q               
& S5 U& `% |/ _解决方案:
# S# R6 d5 ~2 p# ^$ w: o3 g1 i2 Z               
& U' w/ Q6 ~# S% X& K2 K/ \( A- V5 e3 Q5 i7 L; w5 z/ ~; b1 i

2 i( `* Q1 K3 e  G2 J                在SQL中:
/ y/ a  _+ K; S+ V/ \+ Sselect dateadd(d,36464,'1899-12-30')
7 H  E9 l6 D% j1 c-- or thanks to rcdmk
$ Q: }/ }5 L3 C# z' K4 q/ Bselect CAST(36464 - 2 as SmallDateTime)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则