基本上,我想问一下,过去24小时每小时每小时增长一次会产生结果:
01/01/2011 00:00:00
01/01/2011 01:00:00
01/01/2011 02:00:00
...
Any way I can do that without cursors and temp tables?
基本上,我想问一下,过去24小时每小时每小时增长一次会产生结果:
01/01/2011 00:00:00
01/01/2011 01:00:00
01/01/2011 02:00:00
...
Any way I can do that without cursors and temp tables?
One row for each hour for a given date (SQL Server solution).
select dateadd(hour, Number, 20110101 )
from master..spt_values
where type = P and
number between 0 and 23
结果是每小时24小时每小时增长一次
select dateadd(hour, datediff(hour, 0, getdate()) - number, 0)
from master..spt_values
where type = P and
number between 0 and 23
......在服务器上,你可以这样做......
WITH cte
AS
(
SELECT CAST( 1-jan-2011 AS DATETIME) AS date
UNION ALL
SELECT DATEADD(hh, 1, [date]) FROM cte WHERE [date] < 1-jan-2011 23:00
)
SELECT [date] FROM cte
......在现实中,一个仅限(0至23)的桌子将更为有用,因为你可以随时增加时间。
WITH cte
AS
(
SELECT 0 as Hour
UNION ALL
SELECT hour + 1 FROM cte WHERE hour < 23
)
SELECT DateAdd(hh, hour, 1-jan-2010 ) FROM cte
Another, slightly more isoteric way would be to use the row_number ranking function against the first 24 rows of some abitrary object (like spt_values)...
WITH cte AS
(
SELECT n
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY type ) FROM master..spt_values ) D ( n )
WHERE n < 24
)
SELECT dateadd(hh,n, 01-jan-2011 ) FROM cte
Here is the simple way...
SELECT 01/01/2011 00:00:00 as [hour], blah, blah2
UNION ALL
SELECT 01/01/2011 01:00:00 as [hour], blah, blah2
UNION ALL
SELECT 01/01/2011 02:00:00 as [hour], blah, blah2
UNION ALL
...etc 24 times.
在某个特定平台或解决某个具体问题方面,也许会有更好的办法,但为了找到答案,你必须提供更多细节。
I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...
I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域
We have a restaurant table that has lat-long data for each row. We need to write a query that performs a search to find all restaurants within the provided radius e.g. 1 mile, 5 miles etc. We have ...
What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2
I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...
we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...
I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...
I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...