The '~' means that ckdb hasn't recalculated the stats for the block.
It does it after the next confirm or after about 13minutes (whichever is later)
Basically the reason is that when a block is found, ckdb stores all the current 'running' counters and resets them back to zero.
However, there's a number of reasons why that number may be off by a small amount.
The simplest one is that shares can still be accepted for the current work, after the block is found until I get the confirm from ckpool - since ckpool decides if a share is accepted, not ckdb - and this also could have affected the counters back at the start of the block.
Once the 'aging' function of the workinfo containing the block has occurred, ckpool certainly wont send any more valid shares for the workinfo, so at that point, ckdb recalculates the correct stats for the block and updates it.
e.g. for the last block
[2015-10-16 11:27:18.027+11] summarise_blocks() block 379092, stats confirmed 5488381639/10979862/4739416/9795/12275