小编Clo*_*use的帖子

SQL计数天到本月的第一天

我如何计算从日期到下个月的第一天的日期

例:

--Start Date
07-07-2011
Run Code Online (Sandbox Code Playgroud)

多少天:

-- The 1st of the succeeding month of the start date above
08-01-2011
Run Code Online (Sandbox Code Playgroud)

预期结果(以天计):

25
Run Code Online (Sandbox Code Playgroud)

所以,如果我计算得到25的那一天,那么运行此查询会获得所需的时间戳:

SELECT CURRENT_DATE + INTERVAL '25 DAYS'
Run Code Online (Sandbox Code Playgroud)

结果:

2011-08-01 00:00:00
Run Code Online (Sandbox Code Playgroud)

只是想不出一个获得天数的方法,有什么建议吗?

或者开始日期,结束日期,天数之间的天数?

sql postgresql datetime

4
推荐指数
1
解决办法
1512
查看次数

长数据类型的奇怪行为

Long运行此命令时,我的数据类型有问题:

Long nanos = 3 * 1000000000
println nanos
Run Code Online (Sandbox Code Playgroud)

它打印出来-1294967296,而不是3000000000,我不知道为什么.
我在这个页面上读到Long就足够了.那有什么不对?

groovy

4
推荐指数
1
解决办法
1745
查看次数

在SQL中按MONTH分组

我正在尝试整理一个表格,该表格将采用完整日期,YYYY-MM-DD,仅提取月份信息,然后将这些月份组合为单独的行.

我已经尝试使用MONTH(DATE)命令,使用Group byOrder By命令,我得到了表中列出的4年的返回月份.我给出48行,列出1-12,重复4次.我希望按顺序获得1到1的回报.

这是我到目前为止的代码.

select MONTH(DATE) As "Month"
from DW******.SL****
Group By DATE
Order by DATE 
Run Code Online (Sandbox Code Playgroud)

刚开始使用SQL,所以我为这个简单的问题道歉.

如果有人可以请你帮忙.这是我的Db和我将要使用,CONVERT但这不适用于我们的服务器.

sql db2 ibm-midrange

4
推荐指数
1
解决办法
1万
查看次数

使用SQL搜索DB2进行分页的最快/最有效的方法

现在我做两个单独的SQL语句,一个SELECT COUNT(*)基本上与搜索语句相同的标准.我不是最好的做出这些陈述,有时候有点慢,我想知道是否有更好的方法来做我做的事情.可能只在PHP中执行一个SQL语句和一些其他工作?这是一个示例"搜索包含"我有声明.

在第二个语句中,您将看到Y之间的X,它部分地由第一行计数语句的结果计算.

SQL行数:

SELECT COUNT(*) 
FROM itemmast 
LEFT OUTER JOIN itemweb 
ON iline = line 
AND iitem = item 
JOIN linemst 
ON iline = lline 
LEFT OUTER JOIN custord 
ON opline = iline 
AND opitem = iitem 
AND opcust = '12345' 
LEFT OUTER JOIN ordwdtl 
ON owline = iline 
AND owitem = iitem 
AND owusr ='user' 
AND owcust ='12345' 
WHERE ico = 01 
AND iecomm = 'Y'  
AND (UPPER(ITEMDESC) || UPPER(PRODDESC)) LIKE '%FOO%' 
     OR LINE LIKE '%FOO%' …
Run Code Online (Sandbox Code Playgroud)

php sql db2 pagination

3
推荐指数
1
解决办法
6064
查看次数

JPA 在查询中添加迄今为止的秒数

我有一个名为“任务”的表,其中有两列:

  • Date_due:时间戳日期
  • Wait_in_seconds:秒数 (INT)

我想将 Wait_in_seconds 值添加到查询中的日期并将其与当前日期进行比较。

下面的查询没有正确的语法,但它表明了我想要的:

SELECT t
FROM Task t
WHERE (Date_due + Wait_in_seconds) < CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

编辑: KIMI 解释说这对于 JPQL 是不可能的。

编辑 2:这个本机 MySQL 查询可以解决问题:

SELECT *, DATE_ADD(task.date_due, INTERVAL task.wait_seconds SECOND) AS dueDate
FROM task                   
HAVING dueDate < NOW()
ORDER BY dueDate ASC
Run Code Online (Sandbox Code Playgroud)

mysql sql date addition jpql

3
推荐指数
1
解决办法
6894
查看次数

使用列名从db2导出数据

我想将数据从db2表导出到csv格式.我还需要第一行应该是所有列名.

使用以下命令我几乎没有成功

EXPORT TO "TEST.csv" 
OF DEL 
MODIFIED BY NOCHARDEL coldel: ,
SELECT col1,'COL1',x'0A',col2,'COL2',x'0A' 
FROM TEST_TABLE;
Run Code Online (Sandbox Code Playgroud)

但有了这个我得到的数据

Row1 Value:COL1:
Row1 Value:COL2:
Row2 Value:COL1:
Row2 Value:COL2:
Run Code Online (Sandbox Code Playgroud)

等等

我也尝试了以下查询

EXPORT TO "TEST.csv" 
OF DEL 
MODIFIED BY NOCHARDEL 
SELECT 'COL1',col1,'COL2',col2 
FROM ADMIN_EXPORT;
Run Code Online (Sandbox Code Playgroud)

但是,当使用excel打开时,这会列出每个行数据的列名.

有没有办法可以获得以下格式的数据

COL1   COL2
value  value
value  value
Run Code Online (Sandbox Code Playgroud)

在excel打开时.

谢谢

db2 export-to-excel

3
推荐指数
1
解决办法
2万
查看次数

SQL累积值

我正在编写一个SQLServer 2008存储过程,它接受一个付款表,并尝试根据相关表中描述的一组规则(基本上是一组存储桶)分配这些付款.然而,分配(将支付价值放入桶中)正是导致我头痛的原因.

假设表Payments包含要支付的值和表Buckets是关于应该在每个桶中放入多少钱,直到要支付的初始值耗尽(达到0).

使用下面的表作为示例(实际用例有点做作,因为有一些复杂的标准来选择适合每次付款的存储桶):

PaymentId     Value                 BucketId       MaxAmount
--------------------------          --------------------------------
1             16.5                  1              5.5
2             7.0                   2              10
                                    3              8.3
Run Code Online (Sandbox Code Playgroud)

对于付款1:5.5单位(该桶的最大值)应进入桶1,10个单位进入桶2(11.5是桶1的剩余量,但仍超过桶2的最大值)和1个单位(16.5 - 5.5 - 10) )应该放入桶3.重复所有付款.

这很容易在任何命令式语言中实现,甚至可能在带有for/while循环的SQL中实现,但我试图意识到是否有更好的方法(即使它是非可移植的并且特定于SQLServer 2005+).

我已经做了一些研究(主要是递归CTE),但没有真正想到的东西.我确信有很多StackOverflowers和SQL-fu一起回答它们的问题,所以我想把它放在那里看看......

非常感谢你的帮助.

sql sql-server sql-server-2008

3
推荐指数
1
解决办法
980
查看次数