[Haskell][1], 57 Bytes
======================

**Solution**

    import Data.List
    unlines.nub.map(filter(/='2').show).$[1..100]

or

    import Data.List
    nub.map(filter(/='2').show)$[1..100]

if you just want the list.

**Output**

    Prelude Data.List> unlines.nub.map(filter(/='2').show)$[1..]
    "1\n\n3\n4\n5\n6\n7\n8\n9\n10\n11\n13\n14\n15\n16\n17\n18\n19\n0\n30\n31\n33\n34\n35\n36\n37\n38\n39\n40\n41\n43\n44\n45\n46\n47\n48\n49\n50\n51\n53\n54\n55\n56\n57\n58\n59\n60\n61\n63\n64\n65\n66\n67\n68\n69\n70\n71\n73\n74\n75\n76\n77\n78\n79\n80\n81\n83\n84\n85\n86\n87\n88\n89\n90\n91\n93\n94\n95\n96\n97\n98\n99\n100

**Explanation**

Makes all numbers a string, removes their '2's and weeds out the duplicates.

  [1]: https://www.haskell.org/