2012-03-30 84 views
2

如何查詢名字以'N'開頭並且姓氏以'K'開頭的表格而不使用like通過字符串匹配查詢表而不使用LIKE?

+0

爲什麼你不想使用'like'?它是唯一不會混淆它對未來代碼維護者意義的解決方案。 – 2012-03-31 10:47:49

+0

@Rob,「like」是一種非常常見的語義,但稱它爲唯一的語義可能是一個很大的橋樑。子字符串和下面的N&O答案之間是完全可讀和可維護的。 – EBarr 2012-03-31 12:28:30

回答

1

regular Expression怎麼樣?

select * from table1 where regexp_like (firstName, '^N*'); 
select * from table1 where regexp_like (lastName, '^K*'); 
+0

@JeffreyKemp,謝謝你,編輯我的答案 – Habib 2012-03-31 06:06:03

1

你也許會>嘗試<運營商

如:

其中name> = 'N' AND NAME < 'O'

,但我不保證你您期望的每一個字母(尤其是對於加重的字符,如果有的話)

縮尺

2

嘗試類似如下:

SELECT * FROM mytable 
WHERE SUBSTR(firstName, 1, 1) = 'N' 
AND SUBSTR(lastName, 1, 1) = 'K';