MySQL SELECT语句的“长度”字段大于1

时间:2009-10-09 18:51:19

标签: mysql

我的桌子上有一个LINK字段。有些行有链接,有些则没有。

我想选择LINK所在的所有行。 (长度大于X个字符)。

我该怎么写?

4 个答案:

答案 0 :(得分:102)

怎么样:

SELECT * FROM sometable WHERE CHAR_LENGTH(LINK) > 1

这是MySql string functions page(5.0)。

请注意,我选择了CHAR_LENGTH而不是LENGTH,就好像数据中有多字节字符,您可能真正对有多少字符感兴趣,而不是他们占用了多少字节的存储空间。因此,对于上述情况,不会返回LINK是单个双字节字符的行 - 而使用LENGTH时则会返回。

请注意,如果LINKNULL,则CHAR_LENGTH(LINK)的结果也会为NULL,因此该行不匹配。

答案 1 :(得分:11)

select * from [tbl] where [link] is not null and len([link]) > 1

对于MySQL用户:

LENGTH([link]) > 1

答案 2 :(得分:5)

以防万一有人想在oracle中找到并来到这里(像我一样),语法是

select length(FIELD) from TABLE

以防万一;)

答案 3 :(得分:4)

尝试:

SELECT
    *
FROM
    YourTable
WHERE
    CHAR_LENGTH(Link) > x