我写了一个商店程序,我想在最后一个“ORDER BY DateTime
DESC”中进行计算。声明。从某种意义上说,在“ORDER BY”的查询中,我希望能够将DB中列的分钟添加到DateTime
。
所以这个想法就像“ORDER BY variable =(DateTime
+ 15 *'offsettime”)DESC;“。我希望有一个解决方法,有人可以帮助我,因为我不是一个数据库专家。提前谢谢
答案 0 :(得分:0)
SELECT
YOUR COLUMNS, (DateTime + 15 * 'offsettime') calculation
FROM YOUR_TABLE order by 2
由于您的要求是从datetime中提取分钟并进行算术运算,因此Oracle中有一个EXTRACT函数可以帮助您
SELECT
YOUR COLUMNS, (EXTRACT(MINUTE FROM DateTime) + 15 * 'offsettime')
calculation FROM YOUR_TABLE order by 2
注意:假设您的数据库是Oracle,因为您没有谈论它。
答案 1 :(得分: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"
的意思。列名称周围不需要任何引号。如果包含它们,它们应该是双引号而不是单引号。单引号表示字符串常量。