我有一个存储数据的列,如 (42,12)
。现在我想获取 42 或 12(两个不同的选择查询)。我搜索并发现了一些类似但复杂得多的场景。有什么简单的方法吗?我正在使用 MSSQL Server 2005。
假设总是只有两个值,而且它们都是整数
最佳答案
您遇到此问题的原因是因为数据库(您可能无法控制)违反了第一范式。除其他事项外,第一范式表示每一列应包含一个值,而不是多个值。这是糟糕的设计。
现在,话虽如此,我脑海中浮现的第一个解决方案是编写一个 UDF,它根据分隔符解析此列中的值,并返回第一个或第二个值。
https://stackoverflow.com/questions/1952520/