Forum Webscript.Ru
Программирование => PHP => Тема начата: Yukko от 17 Июня 2003, 21:28:14
-
Может я плохо знаю SQL или РНР?
Открываю Enterprise Manager и делаю запрос к базе
SELECT time_stamp FROM ACCOUNTING1 WHERE (USERNAME = \'corne\') and (ACCTSTATUSTYPE=\'stop\') and (acctsessionid=\'0416348435\') ORDER BY TIME_STAMP
Он возвращает:
08.03.2003 19:51:00
Тот же самый запрос делаю в РНР
Выдает:
Mar 08 2003 07:51PM
Как вернуть значение такое же какое возвращает Enterprise Manager?
OS ASP VOSTOK 7.3,
PHP 4.3.1 ./configure\' \'--with-mssql=/usr/local\' \'--with-apxs=/usr/sbin/apxs\' \'--with-mysql\' \'--enable-track-vars\' \'--enable-sockets\' \'--enable-ftp\'
mssql
MSSQL Support enabled
Active Persistent Links 0
Active Links 0
Library version 7.0
Directive Local Value Master Value
mssql.allow_persistent On On
mssql.batchsize 0 0
mssql.compatability_mode Off Off
mssql.connect_timeout 5 5
mssql.datetimeconvert On On
mssql.max_links Unlimited Unlimited
mssql.max_persistent Unlimited Unlimited
mssql.max_procs 25 25
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection Off Off
mssql.textlimit Server default Server default
mssql.textsize Server default Server default
mssql.timeout 60 60
-
SELECT CONVERT(varchar(10), time_stamp, 104) AS time_stamp FROM ACCOUNTING1 ...
---
Выдаст 08.03.2003
Варианты:
http://www.schemamania.org/jkl/booksonline/SQLBOL70/html/ca-co_1.htm (http://www.schemamania.org/jkl/booksonline/SQLBOL70/html/ca-co_1.htm)
-
Thanks,
Я уже это нашел в хелпе по MsSQL :).
Но РНР все равно делает по своему... и выводит так как было указано на запрос типа:
SELECT callingid, CONVERT(datetime, TIME_STAMP, 108) AS time_stamp, acctstatustype, acctdelaytime, acctsessionid FROM dbo.ACCOUNTING1 WHERE (USERNAME = \'$user\') and (ACCTSTATUSTYPE=\'start\') ORDER BY TIME_STAMP
-
Вот так правильно:
"SELECT callingid, CONVERT(varchar(30), TIME_STAMP, 120) AS time_stamp, acctstatustype, acctdelaytime, acctsessionid FROM dbo.ACCOUNTING1 WHERE (USERNAME = \'$user\') and (ACCTSTATUSTYPE=\'start\') ORDER BY TIME_STAMP";
Выводит:
2003-04-12 16:51:00
А дальше скармливаем это все функции
strtotime() и получаем unixtimestamp