xpreaderrorlog doesn't have a column dedicated to the database name, so no, there's no way to filter based on a LIKE statement directly.
there's a pretty good recap of the parameters and usage here:
i would simply stick all the results into a temp table, and then filter the results from there;
something like this looks right to me and my preliminary test:
CREATE TABLE [dbo].[#RESULTS] (
[RESULTSID] INT IDENTITY(1,1) NOT NULL,
[LOGDATE] DATETIME NULL,
[PROCESSINFO] VARCHAR(128) NULL,
[XPTEXT] VARCHAR(max) NULL)
INSERT INTO #RESULTS([LOGDATE] ,[PROCESSINFO],[XPTEXT])
EXEC Xp_readerrorlog 0
SELECT DISTINCT #RESULTS.*
left outer join(SELECT name from sys.databases where name like 'D%') dbz
ON CHARINDEX(dbz.name,#RESULTS.XPTEXT) = 0
--help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!