2016-06-28 29 views
6

altından nasıl kaçınır Postgresql'de alt çizgi ararken, _ karakterinin tam anlamı çalışmıyor. Örneğin, tüm tablolarınızı _by ile biten sütunlar için değiştirmek isterseniz, değişiklik kaydı veya etkinlik bilgileri gibi bir şey için, ör. vb updated_by, reviewed_by, aşağıdaki sorgu neredeyse çalışır: LIKE '%by' aramış yapmış gibiPostgresql

SELECT table_name, column_name FROM information_schema.columns 
WHERE column_name LIKE '%_by' 

Temelde tamamen çizgi yok sayar ve döner. Bu, her durumda bir sorun olmayabilir, ancak bir olma potansiyeline sahiptir. Alt çizgi için nasıl arama yapılır?

+2

'%' ve '_'' like' matching için joker karakterlerdir. '%' = sıfır ya da daha fazlası, '_' = herhangi bir tek karakter. –

cevap

5
Alt çizgi kaçmak için bir ters eğik çizgi kullanmanız gerekir. Örnek sorguyu aşağıdaki gibi değiştirin:
+4

Yapmam gerekiyordu… E '% \\ _ by'' gibi (komut satırında psql kullanarak, PostgreSQL 8.4.20) –

+0

Bu durumda nasıl bulunur: SELECT table_name, column_name FROM information_schema.columns WHERE column_name LIKE '% name_abc' –

+1

@SameerEk 'SELECT table_name, column_name FROM information_schema.columns NEREDE sütun_adı '% name \ _abc' çalışmalıdır. –