求高手进来看看这道SQL题。完全没思路
一个表 [tbuser]
ID NAME INFO
1 aa11 t1
2 aa22 t1
3 bb33 t2
4 bb44 t2
5 cc55 t3
6 cc66 t3
7 cs2 b
8 ct5 b
9 xw6 b
10 12sre b
问题:
找出所有以aa bb cc 开头的信息
例如
ID NAME INFO
1 aa11 t1
2 aa22 t1
3 bb33 t2
4 bb44 t2
......
请教各位大神如何写SQL代码。
目前只能找出单个字段的数据,例如以aa开头的代码
select t.* from tbuser t where substr(t.name,0,3) like 'aa%';
WITH t AS (SELECT 1 ID,'aa11' NAME,'t1' INFO FROM dualUNION ALL SELECT 2,'aa22', 't1' FROM dualUNION ALLSELECT 3, 'bb33', 't2' FROM dualUNION ALLSELECT 4, 'bb44', 't2' FROM dualUNION ALLSELECT 5, 'cc55', 't3' FROM dualUNION ALLSELECT 6, 'cc66', 't3' FROM dualUNION ALLSELECT 7, 'cs2', 'b' FROM dualUNION ALLSELECT 8, 'ct5', 'b' FROM dualUNION ALLSELECT 9, 'xw6', 'b' FROM dualUNION ALLSELECT 10, '12sre', 'b' FROM dual)SELECT * FROM t WHERE NAME LIKE 'aa%' OR NAME LIKE 'bb%' OR NAME LIKE 'cc%' ORDER BY id;ID NAME INFO1 aa11 t12 aa22 t13 bb33 t24 bb44 t25 cc55 t36 cc66 t3
[解决办法]
select t.* from tbuser t where upper(substr(t.name,0,1))=upper(substr(t.name,1,2));