Spectrum sharing algorithms for cognitive radio networks (CRNs) are often designed ignoring adjacent-channel interference (i.e., interference from other transmissions operating on adjacent channels). In practice, such an assumption is unrealistic as guard bands are needed to prevent such interference. Introducing guard bands naturally constrains the effective use of the spectrum. In this work, we investigate the problem of assigning channels/powers to CR transmissions, while accounting for such a constraint. Specifically, we propose a novel guard-band-aware channel assignment scheme for CRNs. Our scheme reduces the number of required guard channels for a given transmission by exploiting the benefits of utilizing adjacent channels while considering already reserved guard channels. We analytically formulate the channel access problem as a joint power control and channel assignment optimization problem, with the objective of minimizing the required spectrum resource for a CR transmission. We show that the optimization problem is a binary linear program (BLP), which is, in general, NP-hard. Accordingly, we present a near-optimal solution based on a sequential fixing procedure. Simulation results are provided, which verify the accuracy of our algorithm and demonstrate the significant gain achieved through guard-band-aware channel assignment.