web-dev-qa-db-ja.com

Prestoで単一引用符をエスケープするにはどうすればよいですか?

Prestoで_'_(一重引用符)をエスケープするにはどうすればよいですか?

これは私がそれを使おうとしているところです

select count(*) as count from uploads where title not in ('Driver's License')

私は通常のエスケープを試しました:、_'Driver\'s License'_、_"Driver's License"_、_E'Driver\'s License'_ですが、何も機能しないようです。 Prestoのドキュメントはあいまいです。誰か知ってる?

15
scottshepard

a_horse_with_no_name によって提供される答えは、別の'を使用することです。

'Driver''s License'

13
scottshepard

エスケープする必要がある一重引用符の代わりに一重引用符を2回置きます。

select count(*) as count 
from uploads
where title not in ('Driver''s License')
1
Ganesh

単一引用符が必要な場所では、CHR(39)文字関数を使用します。 concat関数または二重パイプ||を使用します。

select count(*) as count 
from uploads
where title not in (concat('Driver', CHR(39), 's License'))

または

select count(*) as count 
from uploads
where title not in ('Driver' || CHR(39) || 's License')
1
Evan Roberts