SQL:1999数组类型构造函数用法?

时间:2010-01-03 14:38:47

标签: sql arrays

任何人都可以确认SQL:1999数组类型构造函数是否提供了在WHERE子句中搜索数组的任何操作吗?

作为示例如果表EMPLOYEES有一列

QUALIFICATION VARCHAR(20)ARRAY [10]

包含诸如ARRAY ['BSC','MBA']

之类的值

该标准是否支持某种查询EMPLOYEES的方式来查找所有拥有MBA的员工?

1 个答案:

答案 0 :(得分:1)

嗯,你总是可以使用元素参考(ISO / IEC 9075-2:1999,6.13):

WHERE QUALIFICATION(1) = 'BSC' 
   OR QUALIFICATION(2) = 'BSC'
   ... 

当然,问题是你需要为每个可能的位置写一个比较。

我不知道任何允许你将标量与数组进行比较的运算符,尽管我认为对ARRAY类型具有本机支持的DBMS可以让你创建一个完成这项工作的函数。

我必须说我从来不需要数组类型 - 我通常会构建一对多的详细信息表,或者在极少数情况下,添加多个列(是的 - 一个重复组。发送关系警察来追捕我如果你愿意:)

您是否愿意解释为什么您需要了解这一点,或者您想要使用ARRAY解决什么问题?