ある友人は、彼の新しい雇用主は、1) リテラルの「日付:」、2) オプションの区切り文字、3) DD-MM-YY 形式の日付 (先頭のゼロはオプションです) 4) 区切りスペース 5) 日付に関連付けられたデータの単一の「WORD」。この単語には埋め込みスペースはありません。
この基準を満たすデータをサンプル テーブルに入力して、明確にするための例を示します。
CREATE TABLE [dbo].[Sample](
[RowNumber] [int] NOT NULL,
[DataMess] [varchar](max) NOT NULL
) ON [PRIMARY]
INSERT [dbo].[Sample] ([RowNumber], [DataMess]) VALUES (1, N'Date:12-21-13 12/13/14/15 Date:4-2-11 39/12/134/14 Date:4-1-13 19/45/5/12')
INSERT [dbo].[Sample] ([RowNumber], [DataMess]) VALUES (2, N'Date:7-21-13 12/13/14/15 Date:8-21-12 39/12/34/14 Date:12-1-13 19/4/65/12')
INSERT [dbo].[Sample] ([RowNumber], [DataMess]) VALUES (3, N'Date:3-21-13 12/11233/14/15 Date:4-28-13 39/12/34/14 Date:9-19-13 19/45/65/12')
最初のレコードでは、「12/13/14/15」は、日付 12-21-13 に関連付けられたデータの「単語」であると見なされます。
彼は、SSRS で次のレポートを作成するよう依頼されました。
Row Number DataMess
1 Date: 12-21-13 12/13/14/15
Date: 4-1-13 19/45/5/12
Date: 4-2-11 39/12/134/14
2 Date:12-1-13 19/4/65/12
Date:7-21-13 12/13/14/15
Date:8-21-12 39/12/34/14
3 Date:9-19-13 19/45/65/12
Date:4-28-13 39/12/34/14
Date:3-21-13 12/11233/14/15
各ソース行番号の日付は、関連付けられたデータに合わせて降順でソートされることに注意してください。
私は SSRS を知りませんが、私の反応は、そのタスクを試みるのではなく、T-SQL を使用してその醜い文字列解析をデータが実際にすべて実行しようとするべきではないことを雇用主に伝えることを彼に勧めることでした。代わりに、この繰り返しの「Date: DATA」は、親行レコードに関連付けられている個々の子レコードに格納する必要があります。コードは醜く、非効率的で、もろく、保守が難しいと思います。あなたの考えは何ですか?
管理\クライアントが常に正しいと仮定するか、「理想的には」これが正しいと認めますが、「今のところ」次のレポートを生成する SQL が必要です。これは迅速に作成できることが期待されていました (たとえば、半日)。