php获取sqlserver时间,php操作sqlserver关于时间日期读取的小小见解

本文介绍使用PHP进行跨数据库查询时遇到的时间格式问题及解决方法,重点讲解如何处理MySQL与SQL Server之间的日期时间格式差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上周五,要做一个php 同时对mysql数据库和sqlserver数据库的连接东东

以前一直在用mysql对sqlserver不是很熟悉,于是摸着石头过河。没有别的至少mysql和sqlserver还算是亲戚

在做条件查询的时候。出现了问题

首先是查询出来的时间是这种格式的

11 30 2009 10:20:20AM

我打开sqlserver数据库查看表中的数据

却是2009-11-30 10:20:20.233

后来查了查好像sqlserver有个格式问题,但是输出的时候要的是2009-11-01,没有办法,只能在查询出数据后自己转换一把了

在mysql下面的话

比如我想查找time在2009-11-01到2009-11-30时间段的数据

select * from table where time > '2009-11-01' and time < '2009-11-30';

我就画了个虎,结果就不知道我的where跑哪去了,不起任何作用,

我想我的2009-11-01确实不好跟11 30 2009 10:20:20AM或者2009-11-30 10:20:20.233比较,至少可比性不大

于是我就转换我的2009-11-01到11 01 2009 00:00:00AM和2009-11-01 00:00:00.000

再一比更不行。在“:”出错误。这不是找不自在吗!

于是别别扭扭的找了一天也没有点恍然小悟,不能因为这个小小问题,影响我的形象吧,今天天早早的就醒了,

昨天找到了sqlserver的时间转换函数convert包括好多种,就是没有2009-11-01这种格式,也不知道是我笨还是我笨

没有办法,只能中和一下,首先将2009-11-01转换成20091101然后将11 30 2009 10:20:20AM或者2009-11-30 10:20:20.233转换成20091130然后再比较,

别说,还真有结果了

select * from table where convert(varchar(10),date_time,112) !< $begin_date and convert(varchar(10),date_time,112) !> $end_date

(!< 和 !> 也差点绊我个跟头)

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[php操作sqlserver关于时间日期读取的小小见解]http://www.zyiz.net/tech/detail-34536.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值