mysql升级 查询时的日期兼容性问题

爱着有你 2008-06-04 10:08:54
我们的产品是从mysql4.0升级到5.0。
之前的日期查询都是使用 select * from Logs where Datestamp between '#2008-06-03#' and '#2008-06-04#' 的语句查询的。
升级后就出现查不出数据的情况了。改为 select * from Logs where Datestamp between '2008-06-03' and '2008-06-04' 后就可以查出来了。

现在的问题是:由于程序中用的前者格式的查询很多,现在如果改程序的话可能工作量很大。

请问:如何在不改动现有代码的情况下,使原有的代码在新平台中正常运行???
...全文
110 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ten789 2008-06-04
  • 打赏
  • 举报
回复
时间戳兼容一切
爱着有你 2008-06-04
  • 打赏
  • 举报
回复
给个中间是变量的正则吧
fxs_2008 2008-06-04
  • 打赏
  • 举报
回复
如果你在站点在本地有备份的话
可用站点搜索替换
手动替换比较保险

正则替换不可恢复,要先备份

#(\d{4}-\d{2}-\d{2})#'


替换为 $1

正则选项打钩
爱着有你 2008-06-04
  • 打赏
  • 举报
回复
DW中正则怎么用?
my_web 2008-06-04
  • 打赏
  • 举报
回复
数据库里有#嘛
fxs_2008 2008-06-04
  • 打赏
  • 举报
回复
建议你还是将#删去吧,基本上不用这个了
在DW中可搜索全站,替换
其中可以使用正则
爱着有你 2008-06-04
  • 打赏
  • 举报
回复
没人理我
爱着有你 2008-06-04
  • 打赏
  • 举报
回复
类型是一样的,都是Date类型。升级后的数据和表格是从旧数据库中直接导入的。
fxs_2008 2008-06-04
  • 打赏
  • 举报
回复

看你原来是什么类型的字段,改回去看看
爱着有你 2008-06-04
  • 打赏
  • 举报
回复
'#\S*#'
fxs_2008 2008-06-04
  • 打赏
  • 举报
回复

#([\d-]*?)#

替换
$1



#([\d-]*?)# 匹配##中间是数字和-的字符串

#(.*?)# 匹配任意字符

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧