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

TIM*_*MEX 59 mysql

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

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

我怎么写这个?

Jon*_*eet 109

怎么样:

SELECT * FROM sometable WHERE CHAR_LENGTH(LINK) > 1
Run Code Online (Sandbox Code Playgroud)

这是MySql字符串函数页面(5.0).

请注意,我选择的CHAR_LENGTH不是LENGTH,好像在数据中有多字节字符,你可能真正感兴趣的是有多少个字符,而不是它们占用多少字节的存储空间.因此,对于上面的内容,LINK是单个双字节字符的行不会被返回 - 而在使用时会返回LENGTH.

请注意,如果LINKNULL,结果CHAR_LENGTH(LINK)将是NULL一样,所以该行不匹配.


Amy*_*Amy 11

select * from [tbl] where [link] is not null and len([link]) > 1
Run Code Online (Sandbox Code Playgroud)

对于MySQL用户:

LENGTH([link]) > 1
Run Code Online (Sandbox Code Playgroud)

  • 我不认为len()是一个有效的MySql函数 (3认同)
  • 好吧,你的答案帮助了我,因为我正在寻找T-SQL版本,谢谢! (2认同)

KM.*_*KM. 7

尝试:

SELECT
    *
FROM
    YourTable
WHERE
    CHAR_LENGTH(Link) > x
Run Code Online (Sandbox Code Playgroud)


ali*_*ele 5

以防任何人想要在oracle中找到如何来到这里(像我一样),语法是

select length(FIELD) from TABLE
Run Code Online (Sandbox Code Playgroud)

以防万一 ;)