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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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























































以上是关于PHP 输出MSSQL2005/2008数据DateTime字段类型问题的主要内容,如果未能解决你的问题,请参考以下文章

MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重

PHP MSSQL:查询返回无行时如何显示输出

PHP 7和MSSQL PDO:使用输入和输出参数调用存储过程

MSSQL大全

SQL 2005/2008 连接SQL 2000报18456错误

Sql Server 2005/2008数据库被标记为“可疑”/“质疑”的问题