【发布时间】:2020-02-19 03:46:31
【问题描述】:
我在 SQL Server 中有一个表,它有一个 address 字符串数据类型的列。
地址值如
{"line1":"Nav Place Road","line2":"Nyork City","line3":"USA 34576"}
我想通过选择查询在单独的列 line1, line2, line3, line4 中获得结果。
我尝试使用拆分功能,但我无法得到正确的结果。
【问题讨论】:
-
不要在单个列中存储多个这样的值 - 这违反数据库设计的第一范式
-
所以你的地址栏是这样的,对吧? line1:Nav Place Road,line2:Nyork City,line3:USA 34576
-
@marc_s 或者换句话说,在这样的列中存储多个值是很好。但是不要期望从 SQL 查询中访问它们;仅来自您的客户端应用程序。
-
存储为 XML 会更好;至少你可以查询它。
标签: sql sql-server