Where are Champernowne's zeroes? Consider the infinite string of all nonnegative decimal integers concatenated together in order (akin to Champernowne's constant):

0123456789101112131415161718192021222324252627282930...979899100101102103...


Write a program or function that takes in a nonnegative integer that indexes (0-based) into this infinite string. Output a truthy value if the digit indexed is 0, otherwise output a falsy value if the digit is 1-9.

The shortest code in bytes wins.

The first 25 truthy-producing inputs are:

0
11
31
51
71
91
111
131
151
171
191
192
194
197
200
203
206
209
212
215
218
222
252
282
312


Kudos if your program is memory effecient, but this is not a requirement.
Haskell, 25 bytes

(&lt;'1').((show=&lt;&lt;[0..])!!)


Usage example: (&lt;'1').((show=&lt;&lt;[0..])!!)  312 -> True