2013-04-02 19 views
5

Potrzebuję zapytania do bazy danych zawierającej nazwy firm. Mam listę około 50 nazwisk, dla których muszę pobrać dane. Ale nie jestem w stanie napisać zapytania za pomocą polecenia, ponieważ spacje w nazwie, które nie są rozpoznawane. exCharakter spacji w obrębie literałów symboli

select from sales where name in (`Coca Cola, `Pepsi) 

Daje mi to błąd, ponieważ "Cola" nie jest rozpoznawana. Czy istnieje sposób na napisanie takiego zapytania?

Odpowiedz

3

Przestrzenie pomiędzy struny powoduje interpreter się zagubić. `$() Rzuca listę znaków do symboli.

q)t:([] a:1 2 3; name:`$("coca cola";"pepsi";"milk")) 

q)select from t where name in `$("coca cola";"pepsi") 
a name 
----------- 
1 coca cola 
2 pepsi 

Można też uważać na obudowie i użyć konsekwentnie dolne lub górne przypadek innego, co mogłoby spowodować nieoczekiwane pustych wyniki:

q)select from t where name in `$("Coca Cola";"Pepsi") 
a name 
------ 

q)select from t where upper[name] in upper `$("Coca Cola";"Pepsi") 
a name 
----------- 
1 coca cola 
2 pepsi 
+0

Wielkie dzięki, działało – Mancunia89

0

Trzeba coś zrobić jak poniżej:

select from sales where name in `$("Coca Cola";"Pepsi") 
+0

Dzięki za sugestię, Próbowałem za to, że nie robi 't dać żadnego błędu, ale kwerenda zwraca zerowe wyniki, a ja wiem, że są wpisy w bazie danych. – Mancunia89

+0

jakiego typu jest nazwa kolumny? – user1895961

Powiązane problemy