Single Line of Text
| Value Type | Text |
|---|---|
| Example | <Query><Where><Eq><FieldRef
Name="Title" /><Value Type="Text">Hello
World!</Value></Eq></Where></Query> |
| Notes | This is one of the simplest queries. The example selects items with a title equal to “Hello World!” |
Multiple Lines of Text
| Value Type | Text |
|---|---|
| Example | <Query><Where><Contains><FieldRef
Name="Body" /><Value
Type="Text"><![CDATA[</a>]]></Value></Contains></Where></Query> |
| Notes | If this is a Rich Text field, you can use <![CDATA[]]> around the value to prevent parsing errors when passing HTML into the query. Alternatively, you can encode the HTML by replacing < with <, > with >, and " with ". This query uses <Contains> to return any items that contain a hyperlink in the body field by looking for the closing </a> tag. |
Person or Group (By Name)
| Value Type | Text |
|---|---|
| Example | <Query><Where><Eq><FieldRef
Name="Author" /><Value Type="Text">Josh
McCarty</Value></Eq></Where></Query> |
| Notes | This will look for items created by any user with “Josh McCarty” in the Name field of the User Information list. If more than one person has the same display name in the user list, it will select items created by all users with that name. |
Person or Group (By ID)
| Value Type | Integer |
|---|---|
| Example | <Query><Where><Eq><FieldRef
Name="Author" LookupId="TRUE" /><Value
Type="Integer"><UserID
/></Value></Eq></Where></Query> |
| Notes | By adding LookupId="TRUE" to the <FieldRef /> and using <UserID /> as the value, the query will filter based on the current user. You can also pass the ID of a specific user in place of <UserID /> (e.g. <Value Type="Integer">283</Value>) if you don’t want to filter by the current user. IDs are always unique, so this method ensures that only one user is a valid value. |
Lookup (By Text)
| Value Type | Lookup |
|---|---|
| Example | <Query><Where><Eq><FieldRef
Name="State" /><Value
Type="Lookup">Arizona</Value></Eq></Where></Query> |
| Notes | This will look for items with “Arizona” in the State field. If more than one state has the same display name (not likely in this example, but for other lookups it could happen), it will return items from all states with that display name. |
Lookup (By ID)
| Value Type | Lookup |
|---|---|
| Example | <Query><Where><Eq><FieldRef
Name="State" LookupId="TRUE" /><Value
Type="Lookup">4</Value></Eq></Where></Query> |
| Notes | By adding LookupId="TRUE" to the <FieldRef />, the query will filter based on the ID of the lookup rather than the text value. IDs are always unique, so this method ensures that only one state is a valid value. |
Date (Day Only)
| Value Type | Date |
|---|---|
| Example | <Query><Where><Eq><FieldRef
Name="Created" /><Value
Type="DateTime">2012-01-10</Value></Eq></Where></Query> |
| Notes | This type of query seems to work whether the value type is set to DateTime or just Date as long as the value is formatted properly (yyyy-mm-dd). It also works if <Today /> is used as the value (you can offset the current date; e.g. use <Today OffsetDays="-7" /> for 7 days ago). <Today />. |
Aucun commentaire:
Enregistrer un commentaire