How to check node table for entry by current date before inserting new node?
This should do the trick:

Make a module and insert following code, switch "foo" with your module name.

    /**
    * Implements hook_node_presave($node).
    */
    function foo_node_presave($node) {
      // Lets search for nodes on the current date.
      $somedate = strtotime(date('Y-m-d'));

      $query = new EntityFieldQuery();
      $query-&gt;entityCondition('entity_type', 'node');
      $query-&gt;propertyCondition('created', $somedate, '&gt;=');
      $query-&gt;propertyCondition('created', $somedate + (60 * 60 * 24), '&lt;');
      $result = $query-&gt;execute();

      if (!empty($result)) {
        node_delete_multiple(array_keys($result['node']));
      }
    }


Obviously you might want to do some additional checks before deleting the nodes:

// Nodes of the same type
$query-&gt;propertyCondition('type', $node-&gt;type);

//Only delete published nodes
$query-&gt;propertyCondition('status', 1);