仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1005|回复: 7
打印 上一主题 下一主题

[学习教程] 怎样将字符串转化为"年代日时分秒"的日期格局

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:18:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
先说DDL的分类。有一类DDL,是不需要重建表的,比如加非聚簇索引。这类操作其实不会丢数据,也是在原表上直接操作,对于我们“以恢复数据为目的”的闪回,是可以先忽略的。另外一类,则是会影响到表数据的操作。需求以下:

我要将
20110810081703
20110810081830

转化为:
2011-08-1008:17:03
2011-08-1008:18:30

先创立测试数据:
createtable#T1([col]varchar(20))
insertinto#T1
select20110810081703unionall
select20110810081830unionall
select20110810144626unionall
select20110810092209unionall
select20110810090558unionall
select20110810090600unionall
select20110810141857unionall
select20110810141858unionall
select20110810092837


办法一:使用stuff函数
selectstuff(stuff(stuff(stuff(stuff(col,5,0,-),8,0,-),11,0,),14,0,:),17,0,:)+.000col
from#T1


办法二:使用substring函数
selectconvert(varchar(10),cast(left(col,8)asdatetime),120)+
+substring(col,9,2)+:+substring(col,11,2)+:+right(col,2)ascol
from#T1


转换办法另有良多种,本人渐渐探索吧!目前的方案是用mysqlbinlog工具,增加一个Flashback参数,输出结果为一个新的binlog文件――姑且叫做flashbacklog,这个flashbacklog顺序执行,可制定某张表和执行到哪个pos,来实现数据库的闪回。
沙发
发表于 2015-1-18 12:45:44 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
爱飞 该用户已被删除
板凳
发表于 2015-1-23 06:06:19 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
再现理想 该用户已被删除
地板
发表于 2015-1-31 15:31:55 | 只看该作者
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
不帅 该用户已被删除
5#
发表于 2015-2-6 20:44:33 | 只看该作者
是要和操作系统进行Socket通讯的场景。否则建议慎重!
活着的死人 该用户已被删除
6#
发表于 2015-3-6 08:57:14 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
蒙在股里 该用户已被删除
7#
发表于 2015-3-13 00:08:29 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
若相依 该用户已被删除
8#
发表于 2015-3-20 07:08:35 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表