Re: [討論] 把資料全存成字串的好處是?

看板Soft_Job作者 (寶寶QQ)時間6年前 (2017/11/05 15:17), 6年前編輯推噓5(5010)
留言15則, 6人參與, 6年前最新討論串4/5 (看更多)
假如是日期時間以字串保存 優點: 效率快一點點 一些SQL可以少寫一點 比較、Between...的where條件還是可以用 缺點: 一些日期類型的功能就不能用了 下面寫的Oracle測試: Drop Table TABLE1; Drop Table TABLE2; CREATE TABLE TABLE1 ( DATE1 VARCHAR2(30 BYTE) ); CREATE TABLE TABLE2 ( DATE1 TIMESTAMP(6) ) ; BEGIN FOR v_int IN 1..10000 LOOP INSERT INTO TABLE2 (DATE1) VALUES (TO_TIMESTAMP('2017-06-24 09:59:10.000000000', 'YYYY-MM-DD HH24:MI:SS.FF')); INSERT INTO TABLE1 (DATE1) VALUES ( '2017/06/24 09:59:10.000000000' ); END LOOP; END LOOP; COMMIT; END; / https://i.imgur.com/bY9d9tJ.png
至於要不要使用,就看取捨了~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 43.229.116.218 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1509866234.A.75B.html ※ 編輯: shps951015 (14.217.202.133), 11/05/2017 15:21:44

11/05 20:20, 6年前 , 1F
應該是以數字型態保存日期吧,文字很可能會有/ or -之類的
11/05 20:20, 1F

11/05 20:20, 6年前 , 2F
髒東西
11/05 20:20, 2F

11/05 21:34, 6年前 , 3F
我的話會轉成timestamp再存 要轉各種格式會更方便
11/05 21:34, 3F

11/05 22:28, 6年前 , 4F
存字串快那一咪咪帶來各種隱性的風險 完全不划算吧...
11/05 22:28, 4F

11/06 07:45, 6年前 , 5F
日期在不同 sql server 轉換會常出問題
11/06 07:45, 5F

11/06 07:50, 6年前 , 6F
甚至同 sql server 不同版本,預設也會改。所以日期轉字
11/06 07:50, 6F

11/06 07:50, 6年前 , 7F
串處理很常見
11/06 07:50, 7F

11/06 07:52, 6年前 , 8F
DateTime 含時間,佔的空間沒比較小。若只需日期,字串
11/06 07:52, 8F

11/06 07:52, 6年前 , 9F
還比較不易出錯
11/06 07:52, 9F

11/06 07:54, 6年前 , 10F
並不是每種 sql server 都提供 Date 資料型態
11/06 07:54, 10F

11/06 10:06, 6年前 , 11F
存成13位 unixtime
11/06 10:06, 11F

11/07 08:55, 6年前 , 12F
以前小弟也蠻常用字串處理日期時間格式, 格式&長度決定好
11/07 08:55, 12F

11/07 08:56, 6年前 , 13F
就一直用了, 雖然覺得應該是用哪種資料庫就要用對應的
11/07 08:56, 13F

11/07 08:57, 6年前 , 14F
datetime格式, 但有時懶得處理不同程式語言的datetime lib
11/07 08:57, 14F

11/07 08:57, 6年前 , 15F
所以就統一用時間字串格式了XD (不要學)
11/07 08:57, 15F
文章代碼(AID): #1P_hhwTR (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1P_hhwTR (Soft_Job)