任何人都可以确认SQL:1999数组类型构造函数是否提供了在WHERE子句中搜索数组的任何操作吗?
作为示例如果表EMPLOYEES有一列
QUALIFICATION VARCHAR(20)ARRAY [10]
包含诸如ARRAY ['BSC','MBA']
之类的值该标准是否支持某种查询EMPLOYEES的方式来查找所有拥有MBA的员工?
答案 0 :(得分:1)
嗯,你总是可以使用元素参考(ISO / IEC 9075-2:1999,6.13):
WHERE QUALIFICATION(1) = 'BSC'
OR QUALIFICATION(2) = 'BSC'
...
当然,问题是你需要为每个可能的位置写一个比较。
我不知道任何允许你将标量与数组进行比较的运算符,尽管我认为对ARRAY类型具有本机支持的DBMS可以让你创建一个完成这项工作的函数。
我必须说我从来不需要数组类型 - 我通常会构建一对多的详细信息表,或者在极少数情况下,添加多个列(是的 - 一个重复组。发送关系警察来追捕我如果你愿意:)
您是否愿意解释为什么您需要了解这一点,或者您想要使用ARRAY解决什么问题?