access中我有一个数据库的日期格式是2011-10-25 10:10:11 我想换成这个样子的2011102510只有年月日小时

当中没有任何间隔符号。有18000多条不同记录。不要告诉我一个一个改。或者有什么sql循环语句来修改换个问题我以前完成到变成2011102510:10:11了。。怎么用s... 当中没有任何间隔符号。有18000多条不同记录。不要告诉我一个一个改。或者有什么sql循环语句来修改
换个问题 我以前完成到变成2011102510:10:11了。。怎么用sql语句实现 把:包括:后面的去掉
展开
 我来答
tjrmgs
2011-10-28 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1043万
展开全部
原问题解答:
假设该表表名为[tb],日期字段名为[rq]
首先必须确保该日期字段[rq]的类型必须是文本,而非日期/时间类型,否则更换时会出错;
其次必须保证那18000多条记录中不含非日期/时间类型记录(如2011-13-25 10:10:76等,否则更换时碰到这类非日期/时间记录时,系统也会报错)。
在确保以上两条的前提下运行下列SQL更新查询即可一次性转换全部记录。
UPDATE tb SET rq = year(rq) & right((month(rq)+100),2) & right((day(rq)+100),2) & right((hour(rq)+100),2);
注:表名和字段名请根据实际名称予以更改即可

补充问题解答:
如果你已经成功更改为“2011102510:10:11”这种格式,简单运行下列SQL更新查询即可将后面的东西去掉。
UPDATE tb set rq=left(rq,10)

如还有其他不明白之处请发追问

特别提示:
建议在数据库副本上运行上列更新查询,尤其是有关数据很重要的情况下更应如此,以免丢失数据,导致不可挽回损失。查实无误后,才予以选用。
追问
最后一个问题
我要把678改成678.0 怎么改? 我用的是mysql 也就是把整数后面加个“.0”是批量改 有什么办法?
追答
批量更改前必须确保那个字段的类型为文本,而且其下所有记录都是数字,否则更改会出错。
本人对mysql 不是很熟悉,我查了一下相关资料,更新查询应该这样写:
UPDATE 表名 SET 字段名=IF(字段名-TRUNCATE(字段名,0)=0,CONCAT(字段名,'.0'),字段名)
bullcampus
2011-10-26 · 超过17用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:41.7万
展开全部
update table set col=(select year(col)*1000000+month(col)*10000+day(col)*100+hour(col))
这样不用考虑中间的0会被遗漏了
追问
不好意思你的这个语句有语病。。。
追答
update table set col=(select year(col)*1000000+month(col)*10000+day(col)*100+hour(col) from table)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式