sql - 从 SQL 中的逗号分隔值获取第一个或第二个值

我有一个存储数据的列,如 (42,12)。现在我想获取 42 或 12(两个不同的选择查询)。我搜索并发现了一些类似但复杂得多的场景。有什么简单的方法吗?我正在使用 MSSQL Server 2005。

假设总是只有两个值,而且它们都是整数

最佳答案

您遇到此问题的原因是因为数据库(您可能无法控制)违反了第一范式。除其他事项外,第一范式表示每一列应包含一个值,而不是多个值。这是糟糕的设计。

现在,话虽如此,我脑海中浮现的第一个解决方案是编写一个 UDF,它根据分隔符解析此列中的值,并返回第一个或第二个值。

https://stackoverflow.com/questions/1952520/

相关文章:

php - [function.fopen] : failed to open stream: HT

vb.net - 加入整数数组

iphone - 检查输入的文字是否只使用英文字母

perl - 在 Perl OOP 中继承抽象方法时找不到方法错误

vbscript - MSXML2.ServerXMLHTTP 访问被拒绝错误

functional-programming - 与实数的模式匹配(标准 ML)

sql-server - 如何计算 SQL 中 float 的模数?

php - 仅将唯一值插入数组

excel-2007 - 使用数据透视表时如何显示 Excel 2007 生成的 MDX?

python - lxml 的 iterparse 中有多个标签名称?