我的桌子上有一个LINK字段。有些行有链接,有些则没有。
我想选择LINK所在的所有行。 (长度大于X个字符)。
我该怎么写?
答案 0 :(得分:102)
怎么样:
SELECT * FROM sometable WHERE CHAR_LENGTH(LINK) > 1
这是MySql string functions page(5.0)。
请注意,我选择了CHAR_LENGTH
而不是LENGTH
,就好像数据中有多字节字符,您可能真正对有多少字符感兴趣,而不是他们占用了多少字节的存储空间。因此,对于上述情况,不会返回LINK是单个双字节字符的行 - 而使用LENGTH
时则会返回。
请注意,如果LINK
为NULL
,则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