The types of questions found on these assessment tests fall into two broad categories: multiple choice and programming. Multiple choice questions can test basic concepts as well as query analysis. Programming questions involve actually writing complete queries and/or stored procedures based on the requirements of the question (e.g. write a query that retrieves all orders placed by customer John Smith).
These multiple-choice tests will typically ask about many different aspects of SQL programming and/or database administration to see how much the test taker knows. The number of questions on a SQL test seem to range from as few as 10 - 100 questions. These assessment tests are typically designed by more senior database programmers/developers/administrators and are thus very company specific.
For programming tests, the difficulty is more easily gauged than on multiple-choice tests. Writing a query to return all the rows in a table is much easier than writing a query to order the information in the table by multiple rows in a table.
The number of questions and time to complete them vary much more than the multiple choice tests. The time allotted for programming tests depends most on whether the programming test is independent (or in place) of the multiple choice test. If the programming test is separate from the multiple-choice test, then the programming test will typically be comparably lengthy time-wise.