我有一个名为name的字段。
我想列出长度超过3且小于10的名称。
从mytable中选择*,其中len(name)> 3和len(名字)< 10
这不起作用。
答案 0 :(得分:2)
请改用CHAR_LENGTH。像这样:
select * from mytable where CHAR_LENGTH(name)> 3 and CHAR_LENGTH(name) < 10
答案 1 :(得分:1)
SELECT name FROM <TableName> WHERE CHAR_LENGTH(name) > 3 AND CHAR_LENGTH(name) < 10;
答案 2 :(得分:0)
如果您使用的是SQL Server / Sybase,那么问题就可以了。
如果您使用的是DB2 / MySQL,请使用length
select * from mytable where length(name) > 3 and length(name) < 10
对于DB2和MySQL,还有CHARACTER_LENGTH,尽管DB2版本允许您specify the unit(MySQL版本测量多字节字符串中的字符)。