lee88
asked on
SQL LIKE clause matches underscore?
I have a SQL SELECT statement that has a clause:
"WHERE filename LIKE " & sFileSpec
and when sFileSpec is "4_03" it returns a match for filename = "4303". Does the underscore character act like a wildcard, or does the LIKE clause match strings that only differ by one character, or is there another reason that it returns a match?
"WHERE filename LIKE " & sFileSpec
and when sFileSpec is "4_03" it returns a match for filename = "4303". Does the underscore character act like a wildcard, or does the LIKE clause match strings that only differ by one character, or is there another reason that it returns a match?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Missed a closing paren.
"WHERE filename LIKE " & Replace(sFileSpec,"_", "\_") & " ESCAPE '\'"
"WHERE filename LIKE " & Replace(sFileSpec,"_", "\_") & " ESCAPE '\'"
_ is the same as ? in a like statement: it is a placemarker for any character.
Try "4[_]03"
Try "4[_]03"
Underscore is a wildcard character. It matches any one character in that position in the string. To look for an underscore, place brackets around the underscore, e.g.:
WHERE filename LIKE " & Replace(sFileSpec, "_","[_]")
This would leave the string value at 4[_]03
WHERE filename LIKE " & Replace(sFileSpec, "_","[_]")
This would leave the string value at 4[_]03
Based on Books on Line the underscore acts like a single charaacter:
WHERE au_fname LIKE '_ean' finds all four-letter first names that end with ean (Dean, Sean, and so on).
WHERE au_fname LIKE '_ean' finds all four-letter first names that end with ean (Dean, Sean, and so on).
does the length of sFileSpec varies ot it is a 4 character string?
"WHERE Left(filename,4)='" & sFileSpec & "'"
"WHERE Left(filename,4)='" & sFileSpec & "'"
look at that 4 replies at the same time....
Glad to be of assistance. May all your days get brighter and brighter.
This solution did not work out for me,wonder why?
Hit the "ask a related question" link above and give us details. We should be able to help.
guys.. what is this about ?? dont understand 'Open Discussion' section
"neeraj523
03.09.2009 at 07:30PM IST, ID: 23835931
This solution did not work out for me,wonder why?"
I never posted this comment..
"Open Discussion" means this is being posted after the question is closed, so no points can be assigned.
neeraj523, if you didn't post something ascribed to you, I suggest you change your password. Also, if co-workers have access to your computer, lock it when you step away from your desk. There have been some jokes around my office based on failure to do that ...
neeraj523, if you didn't post something ascribed to you, I suggest you change your password. Also, if co-workers have access to your computer, lock it when you step away from your desk. There have been some jokes around my office based on failure to do that ...
"WHERE filename LIKE " & sFileSpec
To:
"WHERE filename LIKE '" & sFileSpec & "'"
to do a text match