access中我有一个数据库的日期格式是2011-10-25 10:10:11 我想换成这个样子的2011102510只有年月日小时
当中没有任何间隔符号。有18000多条不同记录。不要告诉我一个一个改。或者有什么sql循环语句来修改换个问题我以前完成到变成2011102510:10:11了。。怎么用s...
当中没有任何间隔符号。有18000多条不同记录。不要告诉我一个一个改。或者有什么sql循环语句来修改
换个问题 我以前完成到变成2011102510:10:11了。。怎么用sql语句实现 把:包括:后面的去掉 展开
换个问题 我以前完成到变成2011102510:10:11了。。怎么用sql语句实现 把:包括:后面的去掉 展开
2个回答
展开全部
原问题解答:
假设该表表名为[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)
如还有其他不明白之处请发追问
特别提示:
建议在数据库副本上运行上列更新查询,尤其是有关数据很重要的情况下更应如此,以免丢失数据,导致不可挽回损失。查实无误后,才予以选用。
假设该表表名为[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'),字段名)
展开全部
update table set col=(select year(col)*1000000+month(col)*10000+day(col)*100+hour(col))
这样不用考虑中间的0会被遗漏了
这样不用考虑中间的0会被遗漏了
追问
不好意思你的这个语句有语病。。。
追答
update table set col=(select year(col)*1000000+month(col)*10000+day(col)*100+hour(col) from table)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询