主にこの記事に基づいて、ドキュメントに欠けているものが他にもたくさんあります (そして、2005 年以降、私が調査を試みてからしばらくしてから、さらに多くのものが導入されている可能性があります):
--DROP TABLE dbo.DateTimeStyles;
CREATE TABLE dbo.DateTimeStyles
(
styleID TINYINT PRIMARY KEY,
outputLength TINYINT,
outputSyntax AS (CONVERT(VARCHAR(255), 'CONVERT(CHAR('
+ RTRIM(outputLength) + '), CURRENT_TIMESTAMP, '
+ RTRIM(styleID) + ')')),
outputSample VARCHAR(255)
);
INSERT dbo.DateTimeStyles(styleID, outputLength)
VALUES (0, 19 ), (1, 8 ), (2, 8 ), (3, 8 ),
(4, 8 ), (5, 8 ), (6, 9 ), (7, 10 ),
(8, 8 ), (9, 26 ), (10, 8 ), (11, 8 ),
(12, 6 ), (13, 24 ), (14, 12 ), (20, 19 ),
(21, 23 ), (22, 20 ), (23, 10 ), (24, 8 ),
(25, 23 ), (100, 19 ), (101, 10 ), (102, 10 ),
(103, 10 ), (104, 10 ), (105, 10 ), (106, 11 ),
(107, 12 ), (108, 8 ), (109, 26 ), (110, 10 ),
(111, 10 ), (112, 8 ), (113, 24 ), (114, 12 ),
(120, 19 ), (121, 23 ), (126, 23 ), (127, 23 ),
(130, 32 ), (131, 25 );
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += N'UPDATE dbo.DateTimeStyles
SET outputSample = ' + outputSyntax + '
WHERE styleID = ' + RTRIM(StyleID) + ';'
FROM dbo.DateTimeStyles;
EXEC sp_executesql @sql;
SELECT styleID, outputSyntax, outputSample
FROM dbo.DateTimeStyles
ORDER BY styleID;
もちろん、多くの文書化されていないものと同様に、「秘密」のものは自己責任で使用してください。アップグレード前にテストできるように、モジュールを使用する場所にマークを付ける必要があります。アップグレード アドバイザー、ベスト プラクティス アナライザー、非推奨トレース イベント、拡張イベントなどがピックアップして通知するものではありません。 Microsoft は独自の裁量で文書化されていない機能/構文を自由に削除できるため (ただし、文書化することに関心がなくても、これらのいずれかを削除する可能性は非常に低いと思います)。サービス パック/アップグレードを展開するテスト サーバーがある場合、そのようなアップグレードの後にこのコードを実行すると、ここで使用されているスタイルが削除されているかどうかがわかります。したがって、このコードをどこかに保存して、実際に使用している文書化されていないスタイル番号のみを含めることをお勧めします。