我正在尝试创建一个SELECT语句,该语句选择NAME最大的行。 5个字符和。在NAME中。 我只想要第一个,所以我在语句中添加了LIMIT 1。
我已经处理了以下
searchstring = "."
sql = "SELECT * FROM Table WHERE NAME LIKE %s LIMIT 1"
val = (("%"+searchstring+"%"),)
cursor.execute(sql, val)
但是我不确定如何在我的陈述中加入NAME的长度。
我的“表格”如下:
ID NAME
1 Jim
2 J.
3 Jonathan
4 Jack M.
5 M.S.
因此,根据上表,我希望选择第2行和第5行。 我可以选择全部,然后遍历它们。但是,由于我只想要第一个,所以我想使用SQL语句?
谢谢。
答案 0 :(得分:1)
您可以将CHAR_LENGTH
函数与LIKE
一起使用:
SELECT * FROM Table WHERE name LIKE '%.%' AND CHAR_LENGTH(name) <= 5 LIMIT 1
答案 1 :(得分:0)
尝试LEN() 选择LEN(结果字符串); 这将返回字符串的长度。但这也会计算空格。尝试使用LTRIM()删除它。
答案 2 :(得分:0)
Oracle SQL
SELECT * FROM Table WHERE name LIKE '%.%' AND LENGTH(name) < 6 and rownum < 2
基于sql语言(oracle,mysql,sql server等)使用
length()或char_length()
行数或限制