Large-cap technology shares led rising stocks, including Oracle Corp
Dow component Intel Corp , expected to report quarterly results after the closing bell, gained 1.2 percent to $21.21.
But retail stocks were dented after data showed U.S. sales fell in December, the first decline in three months and a surprising dip during the holiday shopping season. Sales rose an upwardly adjusted 1.8 percent in November, the U.S. Commerce Department said.
This is an indication that investors see business spending, not consumer spending, to fuel further growth to bring us out of this. This is why we are seeing shares like Intel, IBM and Cisco leading the gains today, said Burt White, managing director and chief investment officer at LPL Financial in Boston.
Wal-Mart Stores Inc was among the Dow's biggest drags, off 0.9 percent to $54.53.
The Dow Jones industrial average <.DJI> added 14.06 points, or 0.13 percent, to 10,694.83. The Standard & Poor's 500 Index <.SPX> edged up 0.16 points, or 0.01 percent, at 1,145.84. The Nasdaq Composite Index <.IXIC> gained 3.46 points, or 0.15 percent, to 2,311.36.
U.S. President Barack Obama proposed a fee to make big banks and other financial institutions repay taxpayer funds that helped bail them out during the financial crisis.
The KBW bank index <.BKX> was up 0.6 percent, while major banks were mixed. Goldman Sachs Group fell 0.7 percent to $167.99, while Bank of America Corp gained 0.4 percent to $16.70.
Resource shares weighed as the price of oil eased. Chevron lost 0.6 percent to $79.33.
Morgan Stanley added Oracle to its best ideas list, citing the imminent closure of the Sun Microsystems Inc acquisition, a return to organic growth in Oracle's core business as early as the third quarter and positive revisions. The firm raised its price target on Oracle to $31 from $29.
Other data Thursday showed the number of U.S. workers filing for first-time jobless claims climbed more than expected last week, but a measure of underlying trends moved steadily lower in a sign that labor markets are slowly improving.