首页 > 解决方案 > 如何使用 SQL 选择数据长度大于给定长度的列

问题描述

我有一个包含特定列和行的表。我想选择数据长度超过 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),我需要选项作为LENGTH(*)) > 7输入 LENGTH(<> 或类似的东西。

怎样才能做到这一点?

标签: sqlmultiple-columnscontent-length

解决方案


所以 HAVING 可能是你想要使用的子句。显然,您可以扩展以包括所有列并增加拥有量。看到这个:

 SELECT 
      Name,
      Address, 
      Phonenumber, 
      LEN(Address) AS AddyLength
 FROM
      yourTables
 GROUP BY
      Name,
      Address, 
      Phonenumber, 
 HAVING
      LEN(Address)>7

推荐阅读