Can I convert a smart group to a static group by editing the db directly?
Unfortunately NO, updating saved_search_id to NULL will actually convert it to normal group but no contact's will get added into this group since for smart group the contact are calculated from civicrm_group_contact_cache table which is rebuild periodically and for normal group its from civicrm_group_contact which is static. So you will need to first rebuild the contacts for a group and then move data from cache to static table like

INSERT IGNORE INTO civicrm_group_contact (group_id, contact_id, status)
SELECT group_id, contact_id, 'Added' FROM civicrm_group_contact_cache 
  WHERE group_id IN (1);


HTH

Pradeep