Re: [讨论] 把资料全存成字串的好处是?

楼主: shps951015 (宝宝QQ)   2017-11-05 15:17:11
假如是日期时间以字串保存
优点:
效率快一点点
一些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
至于要不要使用,就看取舍了~~~
作者: a47135 (金属史莱姆)   2017-11-05 20:20:00
应该是以数字型态保存日期吧,文字很可能会有/ or -之类的脏东西
作者: yyc1217 (somo)   2017-11-05 21:34:00
我的话会转成timestamp再存 要转各种格式会更方便
作者: kurtsgm   2017-11-05 22:28:00
存字串快那一咪咪带来各种隐性的风险 完全不划算吧...
作者: cancelpc (阿吉)   2017-11-06 07:45:00
日期在不同 sql server 转换会常出问题甚至同 sql server 不同版本,默认也会改。所以日期转字串处理很常见DateTime 含时间,占的空间没比较小。若只需日期,字串还比较不易出错并不是每种 sql server 都提供 Date 资料型态
作者: senjor (哞哞)   2017-11-06 10:06:00
存成13位 unixtime
作者: kenvi (kenvi)   2017-11-07 08:55:00
以前小弟也蛮常用字串处理日期时间格式, 格式&长度决定好就一直用了, 虽然觉得应该是用哪种数据库就要用对应的datetime格式, 但有时懒得处理不同程式语言的datetime lib所以就统一用时间字串格式了XD (不要学)

Links booklink

Contact Us: admin [ a t ] ucptt.com