2017-02-27 151 views
-1

任何熟悉此错误的人?非常感谢:)操作数类型冲突:smalldatetime与uniqueidentifier不兼容

我的代码:

declare @FromDate date 
declare @ToDate date 
set @FromDate = '2017/01/01' 
set @ToDate = '2017/02/28' 

/*********************** INVOICE DETAILS **************************************/ 
--declare @FromDate date 
--declare @ToDate date 
--set @FromDate = '1/1/2017' 
--set @ToDate = '2/28/2017' 

if object_id('tempdb..#tmpInvoiceDetails') IS NOT NULL 
begin 
    drop table #tmpInvoiceDetails 
end 

create table dbo.#tmpInvoiceDetails 
    (
     [PurchaseOrderKey] uniqueidentifier, 
     [AgreementKey] varchar(40), 
     [CreatedDate] datetime, 
     [SalesOrderID] varchar(30), 
     [ConfirmedInvoiceNumber] varchar(50), 
     [CurrencyCode] varchar(5), 
     [ExtendedLineItemAmount] int, 
     [ExtendedLineItemAmountUSD] int 
    ) 

insert into dbo.#tmpInvoiceDetails 
    (
     [PurchaseOrderKey], 
     [AgreementKey], 
     [CreatedDate], 
     [SalesOrderID], 
     [ConfirmedInvoiceNumber], 
     [CurrencyCode], 
     [ExtendedLineItemAmount], 
     [ExtendedLineItemAmountUSD] 
    )  
select 
    [CreatedDate], 
    [SalesOrderID], 
    [PurchaseOrderKey], 
    [AgreementKey], 
    [ConfirmedInvoiceNumber], 
    [CurrencyCode], 
    [ExtendedLineItemAmount], 
    [ExtendedLineItemAmountUSD] 
from [dbo].[SalesOrderLineItem] 
where [CreatedDate] >= @FromDate 
    and [CreatedDAte] < @ToDate 

--create index on temp audit table 

create nonclustered index [tmpIDX] on [dbo].[#tmpInvoiceDetails] 
(
    [CreatedDate] ASC, 
    [PurchaseOrderKey] ASC 
) 

我得到这个错误:

Msg 206, Level 16, State 2, Line 31
Operand type clash: smalldatetime is incompatible with uniqueidentifier.

我已经试图改变日期格式,但仍然是相同的。

+1

请仔细阅读[如何问一个很好的SQL问题](http://meta.stackoverflow.com/questions/271055/tips-for-asking-a-good-structured-query-language-sql-question/271056)和[如何创建一个MCVE](http:/ /stackoverflow.com/help/mcve) – Shnugo

+0

我的道歉,我编辑了我的帖子。 :) –

回答

1

你有错为了您的列:

insert into dbo.#tmpInvoiceDetails 
    (
     [PurchaseOrderKey], 
     [AgreementKey], 
     [CreatedDate], 
     ... 
select 
    [CreatedDate], 
    [SalesOrderID], 
    [PurchaseOrderKey], 
    ... 

所以,你要插入CreatedDate到PurchaseOrderKey,进入的SalesOrderID等AgreementKey结果

+0

完美!非常感谢你!我的问题已解决!谢谢sooooooo多! :d –

相关问题