|
Access "like" statement
|
Logged in as: Guest
|
Name: | |
|

TexasWebDevelopers
Posts: 7006
Member since: 9/24/2002
From: USA

|
RE: Access "like" statement (in reply to comoaa)
|
|
|
http://www.texaswebdevelopers.com/examples/sql_intro.asp The LIKE condition allows you to use wildcards in the where clause of an SQL statement. This allows you to perform pattern matching. The LIKE condition can be used in any valid SQL statement - select, insert, update, or delete. The patterns that you can choose from are: % allows you to match any string of any length (including zero length) _ allows you to match on a single character Here are a few patterns: 'A_Z': All string that starts with 'A', another character, and end with 'Z'. For example, 'ABZ' and 'A2Z' would both satisfy the condition, while 'AKKZ' would not (because there are two characters between A and Z instead of one). 'ABC%': All strings that start with 'ABC'. For example, 'ABCD' and 'ABCABC' would both satisfy the condition. '%XYZ': All strings that end with 'XYZ'. For example, 'WXYZ' and 'ZZXYZ' would both satisfy the condition. '%AN%': All string that contain the pattern 'AN' anywhere. For example, 'LOS ANGELES' and 'SAN FRANCISCO' would both satisfy the condition. Examples using % wildcard The first example that we'll take a look at involves using % in the where clause of a select statement. We are going to try to find all of the suppliers whose name begins with 'Hew'. SELECT * FROM supplier WHERE supplier_name like 'Hew%'; You can also using the wildcard multiple times within the same string. For example, SELECT * FROM supplier WHERE supplier_name like '%bob%'; In this example, we are looking for all suppliers whose name contains the characters 'bob'. You could also use the LIKE condition to find suppliers whose name does not start with 'T'. For example, SELECT * FROM supplier WHERE supplier_name not like 'T%'; By placing the not keyword in front of the LIKE condition, you are able to retrieve all suppliers whose name does not start with 'T'. Examples using _ wildcard Next, let's explain how the _ wildcard works. Remember that the _ is looking for only one character. For example, SELECT * FROM supplier WHERE supplier_name like 'Sm_th'; This SQL statement would return all suppliers whose name is 5 characters long, where the first two characters is 'Sm' and the last two characters is 'th'. For example, it could return suppliers whose name is 'Smith', 'Smyth', 'Smath', 'Smeth', etc. Older versions of Microsoft Access use an * instead of a %, and a ? for it's _ Here is another example, SELECT * FROM supplier WHERE account_number like '12317_'; You might find that you are looking for an account number, but you only have 5 of the 6 digits. The example above, would retrieve potentially 10 records back (where the missing value could equal anything from 0 to 9). For example, it could return suppliers whose account numbers are: 123170 123171 123172 123173 123174 123175 123176 123177 123178 123179 Examples using Escape Characters Next, in Oracle, let's say you wanted to search for a % or a _ character in a LIKE condition. You can do this using an Escape character. Please note that you can define an escape character as a single character (length of 1) ONLY. For example, SELECT * FROM supplier WHERE supplier_name LIKE '!%' escape '!'; This SQL statement identifies the ! character as an escape character. This statement will return all suppliers whose name is %. Here is another more complicated example: SELECT * FROM supplier WHERE supplier_name LIKE 'H%!%' escape '!'; This example returns all suppliers whose name starts with H and ends in %. For example, it would return a value such as 'Hello%'. You can also use the Escape character with the _ character. For example, SELECT * FROM supplier WHERE supplier_name LIKE 'H%!_' escape '!'; This example returns all suppliers whose name starts with H and ends in _. For example, it would return a value such as 'Hello_'.
_____________________________
FrontPageTools.com:Templates, Tools and Training support this forum
|
|
|
|
Report Abuse |
Date: 7/6/2008 9:08:48 PM
 |
|

TexasWebDevelopers
Posts: 7006
Member since: 9/24/2002
From: USA

|
RE: Access "like" statement (in reply to comoaa)
|
|
|
Sorry If I confused you. Depending on whether the variable is a numeral or string the quotes vary. For instance, this sql statement to select a home with x bedrooms and x baths with a range of sq.ft. works just fine: sql = "SELECT * FROM Model_tbl WHERE (xmodel_name='" & xmodel_name & "' AND xbed=" & xbed & " AND xbath=" & xbath & " AND xsqft=" & xsqft & " AND xden=" & xden & " AND xmodel_number='" & xmodel_number & "' );" This is also a working sql statement: sql = "Select Distinct Attorneys.AttorneyID, Attorneys.PersID, AttorneyStatusID, FirstName, LastName, Phone, Email, MiddleInitial from Attorneys" & _ PAClause & LocationClause & " Where (FirstName LIKE '" & FirstName & "%' " & _ "OR Alias1 LIKE '" & FirstName & "%' " & _ "OR Alias2 LIKE '" & FirstName & "%' " & _ "OR Alias3 LIKE '" & FirstName & "%') " & _ "AND LastName LIKE '" & LastName & "%' " & _ PositionSubClause & PASubClause & LocationIDSubClause & _ " AND isEmployed = True " & _ "ORDER BY LastName, FirstName ;" It really depends on how you've written your query and how the database columns are formatted... Can you post code?
_____________________________
FrontPageTools.com:Templates, Tools and Training support this forum
|
|
|
|
Report Abuse |
Date: 7/14/2008 4:45:27 PM
 |
|
New Messages |
No New Messages |
Hot Topic w/ New Messages |
Hot Topic w/o New Messages |
Locked w/ New Messages |
Locked w/o New Messages |
|
Post New Thread
Reply to Message
Post New Poll
Submit Vote
Delete My Own Post
Delete My Own Thread
Rate Posts
|
|
|