Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Beibehalten einer berechneten datetime-Spalte in SQL Server 2005

Was ist mit:

CREATE FUNCTION [dbo].[fComputeValue] (@data XML)
RETURNS varchar(50)
WITH SCHEMABINDING
AS
BEGIN
  RETURN @data.value('(/Metadata/Value[@Key="StartDate"])[1]', 'varchar(50)')
END

und:

ALTER TABLE dbo.CustomMetadataTable ADD [StartDate] AS (convert(datetime,([dbo].[fComputeValue]([CustomMetadataColumn]), 127)) PERSISTED

oder:

return convert(datetime, @data.value('(/Metadata/Value[@Key="StartDate"])[1]', 'varchar(50)'), 127)

Aus Online-Büchern:

Es könnte hilfreich sein, wenn Sie CONVERT verwenden mit Stil 127