全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1510
推到 Plurk!
推到 Facebook!

數據轉換

答題得分者是:FrederickPau
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-04 22:35:57 IP:61.183.xxx.xxx 未訂閱
我的數據庫為DB庫,現想把DB庫轉換為SQL SERVER庫,可就是有一個字段類型為『DATE』的不能轉換為SERVER中的『DATETIME』日期型字段,只能轉換為nvarchar型字段,但在SERVER中我用以下命令不行,請指教。 update name set DATETIME日期型字段=convert(nvarchar型字段(),getdate(),101); 發表人 - 6688 於 2002/12/04 22:37:56
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-04 23:00:45 IP:61.228.xxx.xxx 未訂閱
想要問你, 你轉換的方法吧 是用 SQL Server 的 Import data 嗎? 還是用程式寫?
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-04 23:11:12 IP:61.183.xxx.xxx 未訂閱
是用 SQL Server 的 Import data 發表人 - 6688 於 2002/12/04 23:12:15
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-04 23:16:29 IP:61.228.xxx.xxx 未訂閱
我有試過類似的情形, 用 DBF 轉的, 也是變成 VarChar 之後, 我就用 Design Table 將這個欄位直接改成 DateTime 格式, 存檔後, 就可以用了. 你可以試試
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-04 23:33:39 IP:61.183.xxx.xxx 未訂閱
[quote] 我試了,但我的DB库中的‘DATE’字段为10位,转为VARCHAR也为10位,再转为DateTime 格式就不行了,能否介绍在SQL SERVER 中数据类型转换方式,谢谢!!!
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-04 23:48:14 IP:61.228.xxx.xxx 未訂閱
你轉出之後的, 該欄位的內容是什麼呢? 而且, 我在自己電腦試也可以, 你指的 DB 是 Paradox 吧 我定了一個 D 格式的欄位, 裡面的值我定 2002/12/04 轉出是成功的喔. 發表人 - FrederickPau 於 2002/12/04 23:56:50
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-05 00:09:50 IP:61.183.xxx.xxx 未訂閱
轉出之後, 該欄位的內容是不同时间的费用收支,我说的DB库是Paradox(10位),转出为VARCHAR格式是‘12/04/2002’,再转为DateTime格式就不行了。 發表人 - 6688 於 2002/12/05 00:11:38
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-05 00:17:19 IP:61.228.xxx.xxx 未訂閱
convert(smalldatetime,abc,111) 試試是不是你要的吧
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-05 00:40:10 IP:61.183.xxx.xxx 未訂閱
还是不行?
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-12-05 00:48:22 IP:61.228.xxx.xxx 未訂閱
1. 如果要由 Paradox 欄位格式 D, 要轉換為 SQL Server 的 DateTime, 利用 SQL Server 的 Import Data, 連設定都不用調整就可以做了 2. 如果, 你要由 SQL Server 裡的 VarChar(10) 轉成 DateTime 格式再做處理, 你就可以下這樣的 SQL Command: select convert(smalldatetime,abc,111) from table1 還是說 ... 兩者都不是你要的功能?
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-12-05 01:16:53 IP:61.183.xxx.xxx 未訂閱
只要能把数据从Paradox轉換為 SQL Server(数据不能丢),第一种办法更好,但转换不了,其他数据类型都可以转换,只有‘Date’类型转换不了DateTime类型。我想只有先把数据转换到SQL SERVER 中(Date数据转为VarChar类型数据),再只转换一个字段的数据就可以了,因此,我另加一字段,用Update命令把VarChar字段数据转换过去,再把本字段改为DateTime类型,再用Update把备用字段的数据转换过来,还是不行,所以没办法,只有请教你了。
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#12 引用回覆 回覆 發表時間:2002-12-05 01:18:50 IP:61.228.xxx.xxx 未訂閱
把你的 paradox 給我吧? 我說的方法在我這裡都是 OK 的 ...
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#13 引用回覆 回覆 發表時間:2002-12-05 01:26:35 IP:61.183.xxx.xxx 未訂閱
谢谢!!!我再试试看。再次感谢你在这么晚还帮我解决问题,谢谢!!!
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#14 引用回覆 回覆 發表時間:2002-12-05 12:44:36 IP:203.69.xxx.xxx 未訂閱
你可以試試看,先把資料丟到SQL Server. 之後,在SQL Server上打開那個table 用table design打開,直接把那個欄位改成datetime 試試看 Rex
------
Best Regards,
Rex Chiu
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#15 引用回覆 回覆 發表時間:2002-12-05 23:36:07 IP:61.183.xxx.xxx 未訂閱
我试过,可能是数据太多的缘故吧,只能转换成VarChar格式,再转换为DateTime格式就提示:ODBC........,过不去。
skcc
中階會員


發表:36
回覆:96
積分:88
註冊:2002-08-28

發送簡訊給我
#16 引用回覆 回覆 發表時間:2002-12-06 10:07:55 IP:203.198.xxx.xxx 未訂閱
請試試進入 "控制台" 中的 "地區選項",然後把系統日期格式改為 yyyy/mm/dd。 Anthony Lee
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#17 引用回覆 回覆 發表時間:2002-12-07 18:53:35 IP:61.183.xxx.xxx 未訂閱
"控制台" 中的 "地區選項",然後把系統日期格式改為 yyyy/mm/dd。我已经选定,但还是不行。根据FrederickPau先生所说,我也试了一下,有8~9条记录时可以把Varchar转换为DateTime格式,是成功的,谢谢!!!但我的转换数据有6000多条记录,转换时提示为数据越界,现在不知如何是好?请各位高手给我出点子,谢谢!!!最好用备份字段(LS)的内容替换成Datetime格式的(JF)字段。
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#18 引用回覆 回覆 發表時間:2002-12-07 19:55:45 IP:61.228.xxx.xxx 未訂閱
我想知道 ... 你將 Date 轉成 VarChar 之後的日期格式? 是 yyyy/mm/dd?? 還是其他的? 這可能會影響你從 VarChar 轉為 DateTime 的成功. 比如, 日跟月倒過來了, 所以導致只有一些資料可以成功.
6688
一般會員


發表:14
回覆:14
積分:5
註冊:2002-11-24

發送簡訊給我
#19 引用回覆 回覆 發表時間:2002-12-07 20:19:22 IP:61.183.xxx.xxx 未訂閱
我將 Date 轉成 VarChar 之後的日期格式为yy-mm-dd格式,经测试,数据记录超过100就不行了,记录数少就可以成功转换。记录数多就显示转换数据越界。
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#20 引用回覆 回覆 發表時間:2002-12-07 20:55:04 IP:61.228.xxx.xxx 未訂閱
真的不太了解為什麼不行了 ...  (如果你要把
系統時間:2024-03-29 23:07:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!