我写了一个存储过程,我想在最后一个“ORDER BY DateTime
DESC;”中进行计算 陈述。从某种意义上说,在“ORDER BY”的查询中,我希望能够将数据库中列的分钟数添加到DateTime
.
所以这个想法就像“ORDER BY variable =(DateTime
+ 15 *'offsettime”)DESC;“。我希望有一个解决方法,有人可以帮助我,因为我不是数据库专家。提前谢谢你
我写了一个存储过程,我想在最后一个“ORDER BY DateTime
DESC;”中进行计算 陈述。从某种意义上说,在“ORDER BY”的查询中,我希望能够将数据库中列的分钟数添加到DateTime
.
所以这个想法就像“ORDER BY variable =(DateTime
+ 15 *'offsettime”)DESC;“。我希望有一个解决方法,有人可以帮助我,因为我不是数据库专家。提前谢谢你
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,因为您没有谈论它。
大多数版本的 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"
。您不需要在列名周围加上任何引号。如果包含它们,它们应该是双引号而不是单引号。单引号表示字符串常量。