我遇到麻烦了,我正在寻找解决方案。
在这种情况下:我进行查询以从sql数据库的视图中获取信息,并将其显示在xls文件中。
问题是我在最后一列中必须显示“日期开始(开始日期)”和“日期结尾(结束日期)”之间的小时差。我已经尝试了很多东西,但是找不到解决方案。有人可以帮我吗?
import numpy as np
import numba as nb
x = np.random.uniform(-13, 1, (3500, 90, 1)).clip(0, None)
p = np.random.random((3500, 90, 70))
@nb.njit(parallel=True,fastmath=True)
def nb_myFun_sp(x, p):
out=np.empty(p.shape,p.dtype)
r = 2.
for i in nb.prange(p.shape[0]):
for j in range(p.shape[1]):
if x[i,j,0]!=0.:
x_=x[i,j,0]
for k in range(p.shape[2]):
out[i,j,k] = x_ * np.log(p[i,j,k]) + r * np.log(1.-p[i,j,k])
else:
for k in range(p.shape[2]):
out[i,j,k] = r * np.log(1.-p[i,j,k])
return out
@nb.njit(parallel=True,fastmath=True)
def nb_myFun(x, p):
out=np.empty(p.shape,p.dtype)
r = 2.
for i in nb.prange(p.shape[0]):
for j in range(p.shape[1]):
x_=x[i,j,0]
for k in range(p.shape[2]):
out[i,j,k] = x_ * np.log(p[i,j,k]) + r * np.log(1.-p[i,j,k])
return out
答案 0 :(得分:1)
尝试将其计算为sql的一部分
ResultSet rs = pst.executeQuery("SELECT real_begin_date, real_end_date, first_name, last_name, TIMEDIFF(real_begin_date, real_end_date) FROM...");
答案 1 :(得分:0)
您可以通过SQL获得时差,如下所示:
DATEDIFF(hour, start_date, end_date)
如果需要小数小时数,则可以以更高的分辨率使用DATEDIFF并将结果相除:
DATEDIFF(second, start_date, end_date) / 3600.0