0

我写了一个存储过程,我想在最后一个“ORDER BY DateTimeDESC;”中进行计算 陈述。从某种意义上说,在“ORDER BY”的查询中,我希望能够将数据库中列的分钟数添加到DateTime.

所以这个想法就像“ORDER BY variable =(DateTime+ 15 *'offsettime”)DESC;“。我希望有一个解决方法,有人可以帮助我,因为我不是数据库专家。提前谢谢你

4

2 回答 2

0
SELECT 
 YOUR COLUMNS, (DateTime + 15 * 'offsettime') calculation
FROM YOUR_TABLE order by 2

更新:

由于您的要求是从日期时间中提取分钟并进行算术运算,因此 Oracle 中有一个 EXTRACT 函数可以帮助您

     SELECT 
     YOUR COLUMNS, (EXTRACT(MINUTE FROM DateTime) + 15 * 'offsettime') 
     calculation FROM YOUR_TABLE order by 2

注意:这里假设您的数据库是 Oracle,因为您没有谈论它。

于 2013-07-03T10:23:40.090 回答
0

大多数版本的 SQL 都支持该标准,您可以在子句中包含来自select语句的列别名。order by所以,如果你有:

select t.*, (DateTime + 15 * offsettime) as variable
from t
order by variable desc;

此外,几乎所有版本的 SQL 都允许您在order by子句中进行计算:

select t.*
from t
order by (DateTime + 15 * offsettime)

最后,我不确定你的意思是什么'offsettime"。您不需要在列名周围加上任何引号。如果包含它们,它们应该是双引号而不是单引号。单引号表示字符串常量。

于 2013-07-03T10:31:18.907 回答