在php5.2 和 MSSQL2005 环境下,php代码中如何实现查询mssql数据库指定表最新时间的数据

在php5.2 和 MSSQL2005 环境下,php代码中如何实现查询mssql数据库指定表最新时间的数据,第1张

需要做以下几步:

1、连接数据

2、执行查询语句

3、输出查询结果

<php

    $con=mysql_connect("localhost","root","123456") or die("数据库连接失败");

    mysql_select_db("数据表名");

    $sql="查询语句";

    $result=mysql_query($sql);

    while($rs=mysql_fetch_row($result)){

        var_dump($rs)"<br>";

    }   

>

你把上面的内容替换成你自己的就可以输出结果了

1resultMap

SQL 映射XML 文件是所有sql语句放置的地方。需要定义一个workspace,一般定义为对应的接口类的路径。写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如

<mappers>

<mapper resource="com/liming/manager/data/mappers/UserMapperxml" />

<mapper resource="com/liming/manager/data/mappers/StudentMapperxml" />

<mapper resource="com/liming/manager/data/mappers/ClassMapperxml" />

<mapper resource="com/liming/manager/data/mappers/TeacherMapperxml" />

</mappers>

当Java接口与XML文件在一个相对路径下时,可以不在myBatis配置文件的mappers中声明。

SQL 映射XML 文件一些初级的元素:

(1) cache – 配置给定模式的缓存

(2) cache-ref – 从别的模式中引用一个缓存

(3) resultMap – 这是最复杂而却强大的一个元素了,它描述如何从结果集中加载对象

(4) sql – 一个可以被其他语句复用的SQL 块

(5) insert – 映射INSERT 语句

(6) update – 映射UPDATE 语句

(7) delete – 映射DELEETE 语句

(8) select - 映射SELECT语句

平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:

1、秒数与Date之间的转换:selectfrom_unixtime(1388776825);

还可以定义时间格式,用法如下:

SELECTFROM_UNIXTIME(1388776825,'%Y-%m-%d%H:%m:%s');

结果:2014-01-0403:01:25

SELECT FROM_UNIXTIME(1388776825,'%Y年%m月%d')

结果:2014年1月4

2、将秒数转为Date:SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')

如果想逆向转换,可以通过unix_timestamp()函数反向转换。用法如下:

SELECTUNIX_TIMESTAMP();//获取当前时间的秒数

SELECTUNIX_TIMESTAMP('2014-03-2310:10:40');//获取指定日期格式的秒数

SELECTUNIX_TIMESTAMP('2014-03-23');//获取指定日期格式的秒数

扩展资料:

一、date型换int型

SELECTUNIX_TIMESTAMP(‘2017-9-2213:54:45’)

二、int型转date型

SELECTFROM_UNIXTIME(1506059685)

需要注意的是,一个int值转换为DateTime需要从1970年1月1日0点0分0秒开始,但是必须明确,这个时间是标准时间,而不是北京时间。

数据库中数据的时间都是以标准时间为准绳的。所以必须转换到当前时间,中国是+8,可以简单的调用ToLocalTime达到效果。

查询出数据后再处理成yyyy-MM-dd的形式,然后返回前台页面查出数据后,用simpleDateFormat对时间进行格式化。

MySQL 是一个关系型数据库,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP ,Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。

IMESTAMP的变体

1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

在创建新记录和修改现有记录的时候都对这个数据列刷新

2,TIMESTAMP DEFAULT CURRENT_TIMESTAMP 在创建新记录的时候把这个

字段设置为当前时间,但以后修改时,不再刷新它

3,TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录的时候把这个字段设置为0,

以后修改时刷新它

4,TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss’ ON UPDATE CURRENT_TIMESTAMP

在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它

MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期

与时间的功能,你可以使用TIMESTAMP列类型下面就详细说明TIMESTAMP列类型

TIMESTAMP列类型

TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。

TIMESTAMP值显示尺寸的格式如下表所示:

+---------------+----------------+

| 列类型| 显示格式  |

| TIMESTAMP(14) | YYYYMMDDHHMMSS | 

| TIMESTAMP(12) | YYMMDDHHMMSS  |

| TIMESTAMP(10) | YYMMDDHHMM |

| TIMESTAMP(8) | YYYYMMDD  |

| TIMESTAMP(6) | YYMMDD |

| TIMESTAMP(4) | YYMM  |

| TIMESTAMP(2) | YY |

+---------------+----------------+

“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸

创造最常见的显示尺寸是6、8、12、和14。

你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。

列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。

列如:

定义字段长度 强制字段长度

TIMESTAMP(0) -> TIMESTAMP(14)

TIMESTAMP(15)-> TIMESTAMP(14)

TIMESTAMP(1) -> TIMESTAMP(2)

TIMESTAMP(5) -> TIMESTAMP(6)

所有的TIMESTAMP列都有同样的存储大小,使用被指定的时期时间值的完整精度

(14位)存储合法的值不考虑显示尺寸。不合法的日期,将会被强制为0存储

这有几个含意:

1、虽然你建表时定义了列TIMESTAMP(8),但在你进行数据插入与更新时TIMESTAMP列

实际上保存了14位的数据(包括年月日时分秒),只不过在你进行查询时MySQL返回给

你的是8位的年月日数据。如果你使用ALTER TABLE拓宽一个狭窄的TIMESTAMP列,

以前被“隐蔽”的信息将被显示。

2、同样,缩小一个TIMESTAMP列不会导致信息失去,除了感觉上值在显示时,

较少的信息被显示出。

3、尽管TIMESTAMP值被存储为完整精度,直接 *** 作存储值的唯一函数是UNIX_TIMESTAMP();

由于MySQL返回TIMESTAMP列的列值是进过格式化后的检索的值,这意味着你可能不能使用某些函数来 *** 作TIMESTAMP列(例如HOUR()或SECOND()),除非TIMESTAMP值的相关部分被包含在格式化的值中。

例如,一个TIMESTAMP列只有被定义为TIMESTAMP(10)以上时,TIMESTAMP列的HH部分才会被显示,

因此在更短的TIMESTAMP值上使用HOUR()会产生一个不可预知的结果。

4、不合法TIMESTAMP值被变换到适当类型的“零”值(00000000000000)。(DATETIME,DATE亦然)

你可以使用下列语句来验证:

CREATE TABLE test ('id' INT (3) UNSIGNED AUTO_INCREMENT, 'date1'

TIMESTAMP (8) PRIMARY KEY('id'));

INSERT INTO test SET id = 1;

SELECT FROM test;

+----+----------------+

| id | date1 |

+----+----------------+

| 1 | 20021114  |

+----+----------------+

ALTER TABLE test CHANGE 'date1' 'date1' TIMESTAMP(14);

SELECT FROM test;

+----+----------------+

| id | date1 |

+----+----------------+

| 1 | 20021114093723 |

+----+----------------+

你可以使用TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的 *** 作。

如果你有多个TIMESTAMP列,只有第一个自动更新。自动更新第一个TIMESTAMP列在下列任何条件下发生:

1、列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。

2、列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE

设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为

它当前的值,MySQL为了效率而忽略更改。)

3、你明确地设定TIMESTAMP列为NULL

4、除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。

CREATE TABLE test ( >

<if test='beginDate!=null or endDate!=null '>and   dLAST_UPT_DATE between #{beginDate,jdbcType=VARCHAR} and #{endDate,jdbcType=VARCHAR}

</if>

只要任意一个不为空,都可以查出表中beginDate之前或endDate之后或beginDate 和endDate区间的数据。 

db2执行的查询语句between?and?,“?”处允许有一个值为空

以上就是关于在php5.2 和 MSSQL2005 环境下,php代码中如何实现查询mssql数据库指定表最新时间的数据全部的内容,包括:在php5.2 和 MSSQL2005 环境下,php代码中如何实现查询mssql数据库指定表最新时间的数据、Java的MyBatis框架中SQL语句映射部分的编写修改时间信息、SQL中如何将数字型转换为日期型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10152737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存