patrick.palmer (3/25/2013)
I have a query that has two date fields that are Int....20050307. I need to convert them to date fields. 03/07/2005 I can not seem to get them to convert. Can anyone out there offer me some assistance please. The fields are fact.StartDtID and fact.EndDtId. See query below and Thank you in advance.SELECT
dimUser.EmpFullName1 [User Name],
dimUser.MgrEmpFullName1 AS Manager,
dimUser.PrimaryJobName AS [Primary Job],
dimUser.EmpNo AS [User Number],
CONVERT(VARCHAR(10), fact.StartDtID, 101) [Start Date],
CONVERT(VARCHAR(10),fact.EndDtID, 101) [Completion Date],
dimUser.PrimaryOrgCode,
dimUser.SecondaryOrg1 AS [Secondary Org 1],
dimUser.SecondaryOrg2 AS [Secondary Org 2],
dimUser.PrimaryOrgName AS Org,
fact.EndDtID,
dimUser.EmpStat AS [Emp Status],
CASE WHEN fact.completionStatusID = '-1'
THEN 'Not Satisfied'
ELSE 'Satisfied' END AS Status
FROM factAttempt AS fact
INNER JOIN dimActivity AS A ON A.ID = fact.ActivityID
INNER JOIN dimUser ON dimUser.ID = fact.UserID
INNER JOIN dimDate AS DD ON DD.DateID = fact.EndDtID
WHERE (dimUser.EmpStat = 'active')
AND (a.code = 'A2102')
AND (fact.StartDtID >= '20130101')
-- SQL Server 2008 answer:
declare @MyDate int = 20050307;
select cast(cast(@MyDate as varchar(8)) as date);