2015-04-22 33 views
1

我想執行下面的查詢,但我得到一個函數格式不存在的錯誤。SQL格式函數

CREATE TABLE [prods](
    [Id] [int] not null, 
    [ShippedDate] [datetime] not null, 
    [shipId] AS (format([ShippedDate], 'yyMM','en-US') +right('00000' + CONVERT([varchar],[Id]).(6))) 
) 

我在做什麼錯?

+0

'FORMAT'與SQL Server 2012中引入的。 –

回答

2

FORMAT函數僅在SQL Server 2012+中可用。

格式化2008年及以前的日期有點麻煩。你可以做

RIGHT(CAST(YEAR([ShippedDate]) AS NVARCHAR(4)), 2) 
    + RIGHT('0' + CAST(MONTH([ShippedDate]) AS NVARCHAR(2)), 2) 

得到一個由兩位數字加兩位數字組成的字符串。

0

它的SQL FORMAT版本的功能可在SQL Server 2012及更高版本