我有一个像这样的SQL表:
| SomeID | OtherID | Data
+----------------+-------------+-------------------
| abcdef-..... | cdef123-... | 18,20,22
| abcdef-..... | 4554a24-... | 17,19
| 987654-..... | 12324a2-... | 13,19,20
Run Code Online (Sandbox Code Playgroud)
是否有一个查询,我可以执行查询,如SELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......'返回单个行,如下所示:
| OtherID | SplitData
+-------------+-------------------
| cdef123-... | 18
| cdef123-... | 20
| cdef123-... | 22
| 4554a24-... | 17
| 4554a24-... | 19
Run Code Online (Sandbox Code Playgroud)
基本上将逗号中的数据拆分成单独的行?
我知道将comma-separated字符串存储到关系数据库听起来很愚蠢,但消费者应用程序中的正常用例使得这非常有用.
我不想在应用程序中进行拆分,因为我需要分页,因此我想在重构整个应用程序之前探索选项.
这是SQL Server 2008(非R2).
我有一个存储过程,必须接受一个月作为int(1-12)和一年作为int.鉴于这两个值,我必须确定该月的日期范围.所以我需要一个datetime变量来表示该月的第一天,另一个datetime变量来表示该月的最后一天.有没有一种相当简单的方法来获取此信息?