我正在开发一个使用低于标准规范创建的极其旧的数据库,在聚合值以创建报告时遇到了问题。我遇到一个表,列中有列表。我理解这是“通过在列中列出但是再次 - 列出一个艰难的战斗并违反关系数据库设计的最基本原则之一” - 这不是我的设计。我正在使用一个巨大的UNION
声明从12个以上的表中提取,这一个给我带来了麻烦。
例如,数据库中没有dateSigned
,datePurchased
,dateReceived
列,所有这些列都位于名为DATE
的列中。此列使用|
在分隔列表中包含多个值。包含的数据为||09/19/2011||09/21/2011|||09/23/2011|
,每个位置与用户输入的日期不同,NULL值为空。 SQL中是否有任何方法可以分离并仅使用此列表中的一个值?我真的想避免在我的视图中编写条件,以便正确显示此特定表。
答案 0 :(得分:0)
您可以使用分割功能。
但是,如果您真的只想从列表中获取其中一个值,并且这些值都是固定宽度,因为它们似乎在您的示例数据中,您只需使用SUBSTRING()。