Re: mssql query

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Mar 16, 2004, at 5:17 PM, php-db-digest-help@xxxxxxxxxxxxx wrote:


From: Adam Williams <awilliam@xxxxxxxxxxxxxxxx>
Date: March 16, 2004 7:32:57 AM PST
To: php-db@xxxxxxxxxxxxx
Subject: mssql query


I've used mysql a little, but now I'm working with a MS SQL SERVER 2000
database. We have a proprietary application/hardware setup where
when a person enters the building, the time they enter the building
is automatically put into the database in a field called eventtime, and
their access card is entered in a field called cardnum. The
time entered is like the mysql NOW() function (i dunno what its called in
mssql), the format is YYYY-MM-DD HH:MM:SS.000 anyway. I need to write an
SQL query that will get a unique count of cardnum based on how many times
the person enters a building each day. So I need to do some sort of
UNIQUE (although in mssql I think its distinct) count on the YYYY-MM-DD
and ignore the HH:MM:SS.000, but looking at the mssql reference book I
have, it doesn't go into great detail on date functions, so I was
wondering if anyone knows how to do a unique on the eventtime with
the date and ignore the time.




MS SQL has a rich set of date functions - they may be a little hard to figure out but you can do everything.


I'd try:

SELECT count(*), id, convert(varchar, eventtime, 10)
FROM users
WHERE eventtime > '3/1/2004' /* just so you don't get the whole table */
GROUP BY id, convert(varchar, eventtime, 10)


The trick is convert(varchar, eventtime, 10) changes the datetime into a string and the last argument (10) is the format. If you pick a format without the seconds you can use GROUP BY.

The function equivalent to NOW() is getdate() so try these:

select convert(varchar, getdate(), 9)
select convert(varchar, getdate(), 10)
select convert(varchar, getdate(), 11)
select convert(varchar, getdate(), 12)
select convert(varchar, getdate(), 110) /* adding 100 is the same but with a 4 digit year */


Good luck,
Frank

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux