Sql server 如何从sql server 2008中只读日期?
它在AlertDate列中给出了2013-04-04 00:00:00.000的输出 我只想在AlterDate列中获取日期,而不是像这样的时间:2013-04-04 谁能帮我提出一些疑问或更新我的代码 提前感谢您已将AlterDate键入为日期时间。如果只想存储日期,请使用日期数据类型。这样做的另一个好处是日期数据类型只需要3个字节,而不是DATETIME的8个字节 如果您随后需要将AlterDate转换回DATETIME,它将使用您当前看到的午夜值。您已将AlterDate键入为DATETIME。如果只想存储日期,请使用日期数据类型。这样做的另一个好处是日期数据类型只需要3个字节,而不是DATETIME的8个字节 如果您随后需要将AlterDate转换回DATETIME,它将使用您当前看到的午夜值。您可以使用该类型而不是 您可以使用类型而不是Sql server 如何从sql server 2008中只读日期?,sql-server,database,sql-server-2008,case,Sql Server,Database,Sql Server 2008,Case,它在AlertDate列中给出了2013-04-04 00:00:00.000的输出 我只想在AlterDate列中获取日期,而不是像这样的时间:2013-04-04 谁能帮我提出一些疑问或更新我的代码 提前感谢您已将AlterDate键入为日期时间。如果只想存储日期,请使用日期数据类型。这样做的另一个好处是日期数据类型只需要3个字节,而不是DATETIME的8个字节 如果您随后需要将AlterDate转换回DATETIME,它将使用您当前看到的午夜值。您已将AlterDate键入为DATETI
您可以使用日期类型转换数据。仅供参考:在请求帮助之前,尝试将示例代码缩减到问题的最小示例总是有帮助的。您可以使用日期类型转换数据。仅供参考:在请求帮助之前,尝试将示例代码缩减到问题的最小示例总是有帮助的。
DECLARE @temp TABLE
(
iLeadID INT ,
Title VARCHAR(MAX) ,
AlertDate DATETIME
)
DECLARE @iLeadID INT
DECLARE @getiLeadID CURSOR
SET
@getiLeadID = CURSOR FOR
SELECT iLeadID FROM LeadsContracts
OPEN @getiLeadID
FETCH NEXT FROM @getiLeadID INTO @iLeadID
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO @temp
SELECT @iLeadID ,
'Disclosure' ,
CONVERT(VARCHAR, dtDisclosure, 101) 'Date'
FROM LeadsContracts
WHERE iLeadID = @iLeadID
AND dtDisclosure IS NOT NULL
INSERT INTO @temp
SELECT @iLeadID ,
'Due Diligence' ,
CONVERT(VARCHAR, dtDueDiligence, 101) 'Date'
FROM LeadsContracts
WHERE iLeadID = @iLeadID
AND dtDueDiligence IS NOT NULL
INSERT INTO @temp
SELECT @iLeadID ,
'Finance Appraisals' ,
CONVERT(VARCHAR, dtFinanceAppraisals, 101) 'Date'
FROM LeadsContracts
WHERE iLeadID = @iLeadID
AND dtFinanceAppraisals IS NOT NULL
INSERT INTO @temp
SELECT @iLeadID ,
sFreeTextCustom1 ,
CONVERT(VARCHAR, dtFreeTextDate1, 101) 'Date'
FROM LeadsContracts
WHERE iLeadID = @iLeadID
AND dtFreeTextDate1 IS NOT NULL
INSERT INTO @temp
SELECT @iLeadID ,
sFreeTextCustom2 ,
CONVERT(VARCHAR, dtFreeTextDate2, 101) 'Date'
FROM LeadsContracts
WHERE iLeadID = @iLeadID
AND dtFreeTextDate2 IS NOT NULL
FETCH NEXT FROM @getiLeadID INTO @iLeadID
END
CLOSE @getiLeadID
DEALLOCATE @getiLeadID
SELECT * ,
( CASE WHEN 1 = 1
THEN ( SELECT TOP 1
sEmail
FROM UserAccount objUA
WHERE EXISTS ( SELECT iUserID
FROM GroupAgent
WHERE iUserID = objUA.iUserID
AND iGroupID = t1.GroupID
AND btAdminFlg = ( (1) ) )
)
ELSE ''
END ) AS AdminEmail
FROM ( SELECT * ,
CASE WHEN 1 = 1
THEN ( SELECT TOP 1
sFirstName + ' ' + sLastName
FROM Lead
WHERE iLeadID = objTemp.iLeadID
)
ELSE ''
END AS LeadName ,
CASE WHEN 1 = 1
THEN ( SELECT TOP 1
sEmail
FROM Lead
WHERE iLeadID = objTemp.iLeadID
)
ELSE ''
END AS LeadEmail ,
CASE WHEN 1 = 1
THEN ( SELECT TOP 1
iUserID
FROM AssignLeadUser
WHERE iLeadID = objTemp.iLeadID
)
ELSE ''
END AS AgentID ,
CASE WHEN 1 = 1
THEN ( SELECT TOP 1
sFirstName + ' ' + sLastName
FROM UserAccount
WHERE iUserID = ( SELECT
iUserID
FROM AssignLeadUser
WHERE iLeadID = objTemp.iLeadID
)
)
ELSE ''
END AS AgentName ,
CASE WHEN 1 = 1
THEN ( SELECT TOP 1
sEmail
FROM UserAccount
WHERE iUserID = ( SELECT
iUserID
FROM AssignLeadUser
WHERE iLeadID = objTemp.iLeadID
)
)
ELSE ''
END AS AgentEmail ,
CASE WHEN 1 = 1
THEN ( SELECT TOP 1
iGroupID
FROM AssignLeadUser
WHERE iLeadID = objTemp.iLeadID
)
ELSE ''
END AS GroupID ,
CASE WHEN 1 = 1
THEN ( SELECT TOP 1
sName
FROM [Group]
WHERE iGroupID = ( SELECT
iGroupID
FROM AssignLeadUser
WHERE
iLeadID = objTemp.iLeadID
)
)
ELSE ''
END AS GroupName
FROM @temp objTemp
) AS t1
ORDER BY AlertDate ASC
declare @temp Table
(
iLeadID int,
Title varchar(Max),
AlertDate date
)