我搜索並搜索了 - 找到了主題變體,但沒有真正的答案給我的問題。將DateTIme轉換爲日期/「int is not allowed」錯誤
我需要將datetime
的MAX
轉換爲date
,並將其插入到我創建的新表中。
這裏是我的代碼:
INSERT INTO [dbo].[OptOutEmails]([emailaddressid],[FirstOptOutDate], [LastOptOutDate], [bu_id], [brand_id])
SELECT [dbo].[DistinctEmailIds].[emailaddressid] as email
,[dbo].[emailaddresses_summary].[bu_id]
,[dbo].[emailaddresses_summary].[brand_id]
, CONVERT(datetime, max([emailaddresses_summary].[FirstOptOutDate])) AS FirstOptOutDate
, CONVERT(datetime, max([emailaddresses_summary].[LastOptOutDate])) AS LastOptOutDate
FROM [dbo].[DistinctEmailIds]
JOIN [dbo].[emailaddresses_summary]
ON [dbo].[DistinctEmailIds].[emailaddressid] = [dbo].[emailaddresses_summary].[emailaddressid]
WHERE [dbo].[emailaddresses_summary].[LastOptOutDate] IS NOT NULL
GROUP BY [dbo].[DistinctEmailIds].[emailaddressid],[dbo].[emailaddresses_summary].[bu_id],[dbo].[emailaddresses_summary].[brand_id];
GO
它需要進入這個表:
[emailaddressid] int not null PRIMARY KEY
, [FirstOptOutDate] datetime null
, [LastOptOutDate] datetime null
, [bu_id] int null
, [brand_id] int null
錯誤消息我得到:消息257,級別16,狀態3,第56行
不允許從數據類型datetime到int的隱式轉換。使用CONVERT函數來運行此查詢。
我試過了我能想到的一切。在我的代碼中產生的CONVERT
聲明來自我認爲可以解決此問題的字符串。沒有任何工作。請幫忙?
嗨,大家好 - 非常感謝你!大聲笑 - 我後來添加了列,什麼是noob(noobs任何人???)錯誤!除此之外,我還是遇到了Clustered Index錯誤(我的數據庫在Azure中 - 這是另一個重要的信息)。但是我不想讓emailaddressid成爲PK,所以我使用表中的AUTO_INCREMENT代碼創建了ID ...'CREATE TABLE OptOutEmails ( ID INT IDENTITY(1,1)PRIMARY KEY ,[emailaddressid]詮釋不爲空 ,[FirstOptOutDate]日期時間空 ,[LastOptOutDate]日期時間空 ,[bu_id] INT空 ,[brand_id] int null ); GO'然後,它就像一個魅力!謝謝! – FirstLoser 2014-10-09 12:22:46