我有一个包含特定列和行的表。我想选择数据长度超过 7 的列。
例如:表有列
Name Address PhoneNumber
AAA AAAAAAAA 12345678
BBBBB BBBBBBB 47854
CCC FFFF 76643
这里的“地址”和“电话号码”列的数据长度超过 7。所以它应该显示,
地址
电话号码
作为结果。这是针对特定表的。这里我还不知道 Address 和 PhoneNumber 是数据长度大于 7 的列。只有从查询结果中我才能找到它。
SELECT <<all_columns>> from table where length(columns)>7
是我的输入要求。
‘Where’ 子句中的 LENGTH 或 LEN 函数提供了仅给出一个特定列名的选项
而不是 LENGTH(COL_NAME)
,我需要选择 where LENGTH(<> 或类似 LENGTH(*)) > 7
应该作为输入。
怎样才能做到这一点?
原文由 Sujatha Rajesh 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如我所读到的,您需要一个动态 sql 来处理比您的示例更大的表(这应该是您问题的一部分)
我使用 unpivot 一次比较所有长度
它将使用所有现有列生成此代码