有人在我們的團隊寫了下面的查詢年前消息8114:錯誤的數據類型時間戳轉換爲日期時間在SQL Server 2012中
create table #tempDocumentCategory (documentcategorycodeidno int , documentcategorycode varchar(50), documentcategorycodedescription varchar(200), timestamp datetime,Inactive bit)
insert #tempDocumentCategory(documentcategorycodeidno , documentcategorycode , documentcategorycodedescription , timestamp ,Inactive)
exec sp_getDocumentCategoriesCodesCtrl 1
現在這個EXEC sp_getDocumentCategoriesCodesCtrl返回一個時間戳,然後存儲在日期時間類型列在上面創建的臨時表中。我們從未收到任何問題,直到最近一位客戶提出問題,指出頁面崩潰,並顯示一條錯誤消息,指出「將數據類型時間戳轉換爲日期時間」。
現在,我明白一個時間戳不是一個日期時間,因此不在這裏使用。據我可以檢查我看到日期時間和時間戳都具有相同的大小 - 字節(8)。我想知道爲什麼時間戳沒有自動轉換爲日期時間,我在這裏丟失/誤解了什麼。對不起,如果這是一個愚蠢的問題,我對SQL相當陌生。
CREATE PROCEDURE sp_getDocumentCategoriesCodesCtrl
@ShowAllInd bit = 0
AS
/* Select record set */
IF @ShowAllInd = 0
SELECT
DocumentCategoryCodeIdNo,
DocumentCategoryCode,
DocumentCategoryCodeDescription,
Timestamp,
CAST(0 as BIT) as Inactive
FROM tDocumentCategory_Codes
WHERE
(DocumentCategoryCodeToEffectDate = '01/01/3000')
ORDER BY DocumentCategoryCode
ELSE
SELECT
DocumentCategoryCodeIdNo,
DocumentCategoryCode,
DocumentCategoryCodeDescription,
Timestamp,
Inactive =
CASE WHEN DocumentCategoryCodeToEffectDate <> '01/01/3000' THEN CAST(1 as BIT)
ELSE CAST(0 as BIT)
END
FROM tDocumentCategory_Codes
ORDER BY DocumentCategoryCode
RETURN(0)
表定義
CREATE TABLE [dbo].[tDocumentCategory_Codes](
[DocumentCategoryCodeIdNo] [int] IDENTITY(1,1) NOT NULL,
[DocumentCategoryCodeDomainIdNo] [int] NOT NULL,
[DocumentCategoryCode] [nvarchar](50) NOT NULL,
[DocumentCategoryCodeDescription] [nvarchar](200) NULL,
[DocumentCategoryCodeFromEffectDate] [datetime] NOT NULL,
[DocumentCategoryCodeToEffectDate] [datetime] NOT NULL,
[LanguageId] [char](5) NULL,
[DocumentCategoryCodeDefaultCodeInd] [bit] NULL,
[Timestamp] [timestamp] NOT NULL,
CONSTRAINT [PK_tDocumentCategory_Codes] PRIMARY KEY CLUSTERED
(
[DocumentCategoryCodeIdNo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
請在此處粘貼[sp_getDocumentCategoriesCodesCtrl]代碼。 – Juozas
sp_getDocumentCategoriesCodesCtrl定義粘貼:) –
謝謝:)現在我需要table [tDocumentCategory_Codes]創建腳本 – Juozas