PHP 输出MSSQL2005/2008数据DateTime字段类型问题

Catchable fatal error: Object of class DateTime could not be converted to string inF:\project\public\web.php on line 54

决解方案一、

$tmptsql="select * from mytable";
 $tmpstmt=sqlsrv_query($conn,$tmptsql);
 $tmprs=sqlsrv_fetch_array($tmpstmt);
 if( $tmpstmt === false )
 {
   echo "Error in statement preparation/execution.\n";
   die( print_r( sqlsrv_errors(), true));
 }
 /* Make the first row of the result set available for reading. */
 if( sqlsrv_fetch( $tmpstmt ) === false )
 {
   echo "Error in retrieving row.\n";
   die( print_r( sqlsrv_errors(), true));
 }
 echo sqlsrv_get_field( $tmpstmt, 2,SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR));

决解方案二、

SELECT convert(char,你的日期字段,120) as date2 FROM table

mssql默认以系统时间格式输出,你可以调整系统的时间格式来解决

当然是在程序里解决比较灵活,convert(char,date,N)输出的各中样式 
N 日期样式 
0 04 2 2005 9:06AM 
1 04/02/05 
2 05.04.02 
3 02/04/05 
4 02.04.05 
5 02-04-05 
6 02 04 05 
7 04 02, 05 
8 09:06:18 
9 04 2 2005 9:06:18:857AM 
10 04-02-05 
11 05/04/02 
12 050402 
13 02 04 2005 09:06:18:857 
14 09:06:18:857 
20 2005-04-02 09:06:18 
21 2005-04-02 09:06:18.857 
22 04/02/05 9:06:18 AM 
23 2005-04-02 
24 09:06:18 
25 2005-04-02 09:06:18.857 
100 04 2 2005 9:06AM 
101 04/02/2005 
102 2005.04.02 
103 02/04/2005 
104 02.04.2005 
105 02-04-2005 
106 02 04 2005 
107 04 02, 2005 
108 09:06:18 
109 04 2 2005 9:06:18:857AM 
110 04-02-2005 
111 2005/04/02 
112 20050402 
113 02 04 2005 09:06:18:857 
114 09:06:18:857 
120 2005-04-02 09:06:18 
121 2005-04-02 09:06:18.857 
126 2005-04-02T09:06:18.857

时间: 2024-10-27 00:38:57

PHP 输出MSSQL2005/2008数据DateTime字段类型问题的相关文章

newLISP 将数据存入mysql datetime字段

mysql datetime字段插入非常简单,采用类似下面的字符串形式 0000-00-00 00:00:00 因此我们需要用newlisp获取epoch秒数,然后转换成字符形式后创建sql语句,下面是个例子: stop-time是一个epoch秒数 (date stop-time 0 "%Y-%m-%d %H:%M:%S") 这样得到的sql语句类似于: insert into nodes_history (name, status, launch_time, stop_time,

【巨坑】springmvc 输出json格式数据的几种方式!

最近公司项目需要发布一些数据服务,从设计到实现两天就弄完了,心中窃喜之. 结果临近部署时突然发现.....  服务输出的JSON 数据中  date 类型数据输出格式要么是时间戳,要么是  {"date":26,"day":1,"hours":21,"minutes":38,"month":5,"seconds":22,"time":1498484302259,&qu

easyui datagrid中datetime字段的显示和增删改查问题

datagrid中datetime字段的异常显示: 使用过easyui datagrid的应该都知道,如果数据库中的字段是datetime类型,绑定在datagrid显式的时候会不正常显示,一般需要借助于formatter来格式化时间格式 { title: '活动开始时间', field: 'BeginTime', width: 300, editor: { type: 'datetimebox', options: { required: true }, formatter: function

sqlAlchemy 按DateTime字段的年或月进行group_by查询

一.根据”create_date“查询每天的数据 1.查询2016年5月每天的数据 session.query(extract('day', User.create_date).label('day'), func.count('*')).filter(extract('month', User.create_date) == 5, extract('year', User.create_date) == 2016).group_by('day').all() 二. ---------2016-

SQL Server 2005、2008 的 datetime 值范围(转)

SQL Server 2005.2008 的 datetime 最小值是:1753-01-01 00:00:00 最大值是:9999-12-31 23:59:59.997 这与 .NET 中的 DateTime.MinValue.DateTime.MaxValue 不匹配,与 System.Data.SqlTypes.SqlDateTime.MinValue.System.Data.SqlTypes.SqlDateTime.MaxValue 匹配. 其实 .NET 与 SQL Server 字段

SQL Server 2008 各种DateTime的取值范围

原文:SQL Server 2008 各种DateTime的取值范围 SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset. 各时间类型范围.精度一览表: 数据类型 时间范围 精度 datetime 1753-01-01到9999-12-31 00:00:00 到 23:59:59.997 3.33毫秒 smalldatetime 1900-01-01 到 2079-

while循环操作,输入一个整数放入到变量n中, 如果这个整数大于0,那么计算1+2+3+……+n的结果, 否则输出“输入的数据有错误”。

import java.util.Scanner; /** * @author 蓝色以太 while循环操作,输入一个整数放入到变量n中, 如果这个整数大于0,那么计算1+2+3+--+n的结果, * 否则输出"输入的数据有错误". */ public class While2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("

sql server 数据库 数据DateTime 转mysql

首先将sql server  DateTime 转换为varchar(50) 然后更新转换过的 DateTime字段, UPDATE 表名 SET LastUpdateTime=CONVERT(VARCHAR(50),cast(LastUpdateTime as datetime),120),CreateTime=CONVERT(VARCHAR(50),cast(CreateTime as datetime),120) 然后再导出 sql 脚本就可以了.

【HOW】如何对Reporting Services表格中数据按字段排序

Reporting Services中可以设置排序的地方非常多,有很多地方从其字面意思上好像是对表格数据的排序,但实际都不管用.在多次尝试后,得到如下的有效设置方式: 1. 鼠标右键单击要排序字段的内容单元格(不是标题单元格). 2. 在弹出菜单中选择:行组 > 组属性. 3. 在弹出窗口中选择"排序"选项卡,并在右侧界面中添加排序依据. 有时,在完成如上设置后仍未看到正确排序,这可能是因为对应数据集的排序规则(类似字符集)不正确,设置方法如下: 1. 在表格对应的数据集名称上右