我们需要从DATETIME列中获取HOUR(期望返回0到23之间的值).
是否有Oracle等效的SQL Server DATEPART功能?
我需要从数据库中获取记录为一个月的行.我试过这个SELECT:
$result = mysql_query("SELECT * FROM my_table WHERE DATEPART('month', date_column)=11");
Run Code Online (Sandbox Code Playgroud)
在数据库中有很多行,其日期为11个月,但我没有得到任何结果.谁能帮我?谢谢!
我试图通过以下查询获取最近30天的计数 -
SELECT date_occured, COUNT(*) FROM problem
WHERE date_occured >= (CURRENT_DATE - 30)
GROUP BY date_occured;
//date_occured field is of type DATE.
Run Code Online (Sandbox Code Playgroud)
基本上,在我的查询中,我试图只比较条件中的日期部分date_occured >= (CURRENT_DATE - 30)
,但它似乎也比较时间.
我试过TRUNC如下 -
TRUNC(date_occured) >= TRUNC(CURRENT_DATE - 30)
Run Code Online (Sandbox Code Playgroud)
但是当运行查询时它永远不会返回.
我也尝试过 -
SELECT date_occured, COUNT(*) FROM problem
GROUP BY date_occured
HAVING TRUNC(date_occured) >= TRUNC(CURRENT_DATE - 30);
Run Code Online (Sandbox Code Playgroud)
它永远不会回来.
如何只比较Oracle中两个DATE值的日期部分?
是否有一个快速的单行程序在Sql Server中调用datepart并获取当天的名称而不仅仅是数字?
select datepart(dw, getdate());
Run Code Online (Sandbox Code Playgroud)
这将返回1-7,星期日为1.我希望'星期日'而不是1.
我想从给定日期检索星期几。
例如日期是:2015-01-28
那么它必须返回Wednesday
select date_part('week',now()) as weekday;
Run Code Online (Sandbox Code Playgroud)
上面的脚本只给了我周数而不是星期几。
我试图使用postgresql从表(login_history为t1)中检索分钟的时差.
当我尝试这个代码
((date_part('hour', timestamp '2014-04-25 09:44:21')- date_part('hour', timestamp '2014-04-25 08:32:21'))*60 +(date_part('minutes', timestamp '2014-04-25 09:44:21')- date_part('minutes', timestamp '2014-04-25 08:32:21'))) as TimeNew
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是当我尝试使用此代码从表t1中检索信息时
((date_part('hour', timestamp t1.login_date)- date_part('hour', timestamp t1.logout_date))*60 +
(date_part('minutes', timestamp t1.login_date)- date_part('minutes', timestamp t1.logout_date))
) as TimeNew
Run Code Online (Sandbox Code Playgroud)
它抛出了这个错误
SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "t1"
Run Code Online (Sandbox Code Playgroud)
谢谢
我有两个日期时间字段,我需要显示它们之间的区别.我用这个表达式来计算它:
=DateDiff("n", Fields!hra_atncion.Value, Fields!fcha_incio.Value)
Run Code Online (Sandbox Code Playgroud)
结果列应为HH:mm,但结果为Long表达式类型.像428011156这样的东西
任何答案都会被贬低!
更新2013年11月21日
我如何获得12-11-2013 20:00和14-11-2013 08:00之间的分钟时差?
如何从 Postgres 中的日期中提取毫秒、工作日、微秒、纳秒。我也尝试过提取方法,但找不到完全等效的方法。
我不明白为什么DATENAME(GETDATE())给出了与DATENAME(2019-02-01)不同的结果当那是今天的日期
SELECT GETDATE(), DATENAME(w, GETDATE()),DATENAME(dw, 2019-02-01)
Run Code Online (Sandbox Code Playgroud)
返回:
2019-02-01 14:51:46.017 Friday Monday<br>
Run Code Online (Sandbox Code Playgroud)
虽然我希望它能回归:
2019-02-01 14:51:46.017 Friday Firday
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 SQL 查询来选择上个月的所有记录,从很多地方来看,这正是我应该需要的,并且应该可以工作:
SELECT *
FROM orders
WHERE DATEPART(yy,DateOrdered) = DATEPART(yy,DATEADD(m,-1,GETDATE()))
AND DATEPART(m,DateOrdered) = DATEPART(m,DATEADD(m,-1,GETDATE()))
Run Code Online (Sandbox Code Playgroud)
但是我不断收到错误消息:
#1305 - FUNCTION retail.DATEPART does not exist
Run Code Online (Sandbox Code Playgroud)
我正在使用的查询是从这里的其他答案逐字逐句,但我收到此错误。
谢谢你的帮助-汤姆