我有以下SQL:
ALTER PROCEDURE [dbo].[usp_gettasks]
@ID varchar(50)
AS
declare @PDate Date
WHILE (DATEPART(DW, @PDate) = 1 OR DATEPART(DW, @PDate) = 7 )
BEGIN
set @PDate = DATEADD(day, 1, @PDate)
END
CREATE VIEW tblList AS
select tt.ItemOrder,tt.
有人能告诉我下面的查询出了什么问题吗?
select 1
from table1 a,
table2 b
where a.pdate=max(b.pdate)
它不是编译的。
编写此查询的另一种方法是
set @pdate=pdate from table2
select 1
from table1 a,
table2 b
where a.pdate=max(b.pdate)
但我想知道第一个查询出了什么问题。
谢谢
顾客发现了一个错误,当我试图修复它的时候,我发现了这个奇怪的行为。我花了几个小时对此进行不同的测试,我仍然在努力理解它。它肯定可以在SQL2016和2017 (最新的CU)和不同版本的管理工作室上复制。下面的示例是取自1000行proc的简化示例:
要开始创建必要的对象:
CREATE DATABASE TestDB;
GO
USE TestDB;
CREATE TABLE test (
id int IDENTITY,
pdate datetime);
INSERT test
VALUES('1-Feb-2018'),('1-Mar-2018'),(NULL)
我们需要将下面的查询转换为雪花,但是在执行时得到以下错误:
TD查询:
SEL * FROM EMP_HIST N
QUALIFY MAX(CAST((N.pdate (DATE, FORMAT 'YYYY-MM-DD')) || ' ' || CAST(N.ptime AS CHAR(10)) AS TIMESTAMP(0)))
OVER (PARTITION BY N.emp_id
ORDER BY N.pdate, N.ptime) = CAST((N.pdate (DATE, FORMAT 'YYYY-MM-DD')) || '
这是我的代码,输出就在那之后...
$PDate = $row['PDate'];
//row is tapping into ms-sql date field.
//and the ms-sql data field has a value like this for the PDate;
//07/12/2001
$PDate = $PDate->date;
echo "<h1>[", $PDate , "]</h1>";
echo "<h1>[", var_dump($ro
我在格林梅利- postgresql DB工作,数据结构如下:
在这方面,我需要下面的逻辑来实现(其中一些我已经实现了):
CASE WHEN PDATE IS NOT NULL THEN to_char(PDATE,'YYYY-MM-DD')
WHEN PDATE IS NULL THEN to_char(NDATE,'YYYY-MM-DD N')
WHEN NDATEIS NULL THEN 'NO PO' ELSE 'NO PO' END
根据这个,我需要QTY和VName。
QTY: Sum(Qty)按min
我目前正在维护一个数据库,其中至少有10个遗留应用程序在使用它。这实际上是一个很长的故事,所以我不会详细介绍它。
在数据库中,我们有一个包含以下代码的视图:
CREATE VIEW [dbo].[vw_ViewControl]
AS
SELECT
'CAX1' AS table_name,
max(convert(datetime,txn_pDate)) AS curr_dt,
(
SELECT MAX(CONVERT(datetime,txn_pDate))
FROM tbl_txn WITH(NOLOCK)
我正在尝试将ColdFusion中使用的查询转换为LINQ和C#。数据来自数据文件,而不是数据库。
我转换了第一个查询,但不知道
如何将其用于查询第二个查询。
如何将count(PDate)作为DayCount包含在第二个查询中。
下面是使用ColdFusion查询的代码:
First query
<cfquery name="qSorted" dbtype = "query">
SELECT OA, CD,PDate,
FROM dataQuery
GROUP BY CD,OA,PDate,
我需要查询,以获得多少天的最后一次仪表已经在线。例如:
METER PDATE STATUS
ABC 1-Jan off
ABC 2-Jan on
ABC 3-Jan on
ABC 4-Jan on
ABC 5-Jan off
ABC 6-Jan off
ABC 7-Jan on
ABC 8-Jan on
ABC 9-Jan off
如果今天是1月8日,则查询将返回:3 (Jan 2-4)。
如果今天是1月9日,则查询将返回:2 (Jan 7-8)。
我下面的查询运行正常,但如果应用于具有500万条记录的真实表,则需要
我已经寻找了几天的解决方案,但到处都找不到任何东西。我让Excel与Access数据库进行交互。下面的查询在Access中有效:
SELECT DISTINCT A.Timestamp, A.Identifier, A.Remarks, A.ActiveIndicator,
A.S4PDate, B.Timestamp, B.Identifier, B.Remarks, B.ActiveIndicator, B.S4PDate
FROM AAEPData AS A INNER JOIN AAEPData AS B ON A.Identifier = B.Identifier
WHER
string vDate="2017/06/08";
OracleCommand cmd= new OracleCommand();
OracleParamater pDate= new OracleParameter("pDate",OracleDbType.Varchar2);
pDate.Direction=ParameterDirection.Input;
pDate.Value= vDate;
cmd.Parameters.Add(pDate);
cmd.CommandText="select * from testtable where jo
好的,我有这个类保险和它的构造函数。
public class Insurance
{
protected String pNum, pDate;
protected int yPrem;
public Insurance(String pNum, String pDate, int yPrem)
{
this.pNum = pNum;
this.pDate = pDate;
this.yPrem = yPrem;
}
}
如何使汽车扩展保险类?是否需要将超类的所有参数作为子类传递给子类?
public class Auto extends Insurance
{
p
下面是令人不快的脚本:
select distinct person, min(pdate) as min_date from db
where ptype like 'A1%'
or (ptype like 'B1%'
and (pdate between '2000-01-01' and '2001-01-01'))
group by person
问题所在
检索到的min_date也包括我指定的pdate的输出。然而,当我去掉其中一个ptype时,我有:
select distinct person, min(pdate)
我有两列不同格式的日期。
正如您所看到的,一列是dd/mm/yyyy格式,另一列是mm/dd/yyyy格式。
我想找出两者之间的时差。另外,一列是日期格式,另一列是常规格式。
我用VB写了一个函数来计算差值,如下所示:
Function caclulateDifference(pDate1 As Date, pDate2 As Date) As Long
TestDates = DateDiff("d", pDate1, pDate2)
End Function
我在Excel中使用=caclulateDifference(b2,a2)来调用它,
pDa
我正在尝试运行下面的查询并得到一个错误
select
le.a_code,
le.pr,
le.pdate
CASE EXTRACT(YEAR FROM le.pdate) || EXTRACT(MONTH FROM le.pdate)
WHEN TO_NUMBER(le.pr) THEN le.pdate
ELSE TO_DATE('10/31/2018','mm/dd/yyyy')
END
from
load_entry le
where
le.pdate be
我希望选择另一个列,其中包含一个带sum或count函数的group子句。
SELECT t1.[09to12PM], t2.[12to15PM], t3.[15to17PM], t4.[17to23PM]
FROM
(SELECT COUNT (Premark) AS [09to12PM]
FROM saree_order_stages
WHERE Premark LIKE '%ready to go%' AND Premark != 'not ready to go'
AND pdate>='2016-03-29 09
我想像这样执行我的HQL查询:
Query queryPayment=sixSession.createQuery("from Payment where vcode=:p_Vcode or (Installment_Vcode=:installmentVcode and payment_date>:pdate) order byvcode."+order +"desc")
.setParameter("p_Vcode", p_Vcode)
.setParameter("installmentVcod
我想要创建一个UDF,它返回YYYYMM的整数形式,这样我就可以轻松地在月份对某些东西进行分区。我试图将此函数分配给PERSISTED计算列的值。
我目前有以下内容,工作正常:
CREATE FUNCTION dbo.GetYearMonth(@pDate DATETIME2)
RETURNS INT
WITH SCHEMABINDING
AS
BEGIN
DECLARE @fYear VARCHAR(4) = RIGHT('0000' + CAST(YEAR(@pDate) AS VARCHAR),4)
DECLARE @fMonth VARCHAR(2) =