当前位置: 首页 > 图文教程 > 网络编程 > PHP > php操作sqlserver关于时间日期读取的小小见解

PHP
成为PHP编程高手应该遵循的三个准则
PHP企业级应用之常见缓存技术篇
PHP企业级应用之WebService篇
PHP实现的Mysql读写分离
php框架codeigniter是如何实现mvc模式以及单一入口
PHP版单点登陆实现方案
Linux编程之:五个常见PHP数据库问题
linux下php实现C/C++扩展编程
目前最好的PHP开发框架
php职业分析(如何成为一名优秀的phper)
PHP 的八卦两则
20款 Web Mail PHP开源项目
经验分享:学好java开发的关键7步
PHP中正则的使用
对于Java开发人员必须遵从的十大基本法则
PHP绘制3D图形之自定义图形及矢量图
PHP编写的25个游戏脚本
php生成静态页面的办法
微软对PHP支持的改进 及其它一些胡言乱语
Fedora下Zend Studio 6.1.2 的配置

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 112 ::
收藏到网摘: n/a

以前一直在用mysql对sqlserver不是很熟悉,于是摸着石头过河。没有别的至少mysql和sqlserver还算是亲戚 做条件查询的时候。出现了问题 上周五,要做一个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
(!< 和 !> 也差点绊我个跟头)