这是一个例子
一些动漫的标题:
|_title_|
|My hero Academia|
|My hero Academia Season 2|
|My hero Academia Season 3|
|My hero Academia Season 4|
我想选择包含第一条记录的前10个字符的标题,因此在此示例中为“我的英雄学院”
重要的是它必须是前N个字符,例如10、15、20。因此,SELECT title FROM tablename WHERE title LIKE "%My hero Academia%"
不是我要寻找的解决方案。
也:这只是一个例子,还有许多其他标题,我并不总是知道前10个字符是什么。因此,我也不能简单地在WHERE title LIKE
子句中输入“我的英雄学院”的前10个字符。
我的意思是这样的:
SELECT title FROM table_name WHERE title LIKE the first 10 characters of a given string
有没有办法用SQL做到这一点?谢谢您提前提供帮助!
答案 0 :(得分:2)
要过滤部分固定值的字符串,可以像运算符like 'yourstring%'
这样使用,例如:
SELECT title
FROM your_table
WHERE title LIKE 'thefirst10%'
或使用类似substr或left的字符串功能
SELECT title
FROM your_table
WHERE left(title,10) = 'thefirst10'
SELECT title
FROM your_table
WHERE substr(title,1,10) = 'thefirst10'
答案 1 :(得分:0)
像这样输入10个字符:
WHERE title LIKE 'aaaaaaaaaa%'
答案 2 :(得分:0)
WHERE SUBSTRING(title, 1, n) = 'aaaaaaaaa'
答案 3 :(得分:0)
尝试一下:
SELECT title FROM table_name WHERE title like "data structure%"
答案 4 :(得分:0)
SELECT title FROM TABLE_NAME WHERE title LIKE '%' + substring('AAA' , 0 ,2)
子字符串函数的第一个参数代表您的字符串,第二个开始索引和第三个结束索引。您可以根据需要更改结束索引。
答案 5 :(得分:0)
使用通配符(%):
SELECT title FROM table_name WHERE title LIKE "1234567890%"
答案 6 :(得分:0)
这可以帮助您为我的postgray11增光添彩。 ithink会为您的mysql设置hwlp
select * from t1 where title LIKE CONCAT((select * from t1 LIMIT 1),'%');