Thanks Jim,
Didn't realize that it will retrieve all. Actually the database is not so 
big at the moment so I don't notice any performance problems. 
Better try your suggestions before it has grown to big. 
Cheers - A3
Op dinsdag 19 oktober 2021 om 16:50:13 UTC+2 schreef Jim S:

> I don't think this is a good solution because it is retrieving all the 
> rows from the database and then iterating over them to find a match.
>
> Do you have the option of sanitizing a phone number before it is stored in 
> the database?  Or, could you create a new 'sanitized' phone number field 
> that you could select over?
>
> Either that, or take the value you're looking for an parse it in to all 
> the possible ways it could be stored and then search for those options.
>
> Ex
>
> phone_numbers = ['+31123456789', '+31-(0)123 456 789', '+31-0 123 456 789', 
> etc.]
>
> db(db.table.phonenumber.belongs(phone_numbers)).select()
>
> -Jim
>
>
> On Tuesday, October 19, 2021 at 2:17:55 AM UTC-5 A3 wrote:
>
>> finally I tried:
>> db((db.table.id >0)).select(db.table.phonenumber).find(lambda rw: 
>> rw.phonenumber.replace("-","").replace(" ","").replace("(0)","")==caller if 
>> rw is not None else None)
>> Initially this gave an error TypeError: 'NoneType' object has no 
>> attribute '__getitem__' 
>> <https://www.ursadina.nl/admin/default/errors/gtd1#>
>> The problem was that the field phonenumber could also be None. 
>> Solution:  in the table definition :set default to ""  and update all 
>> existing None values to "" 
>>
>> Any other suggestions?      
>> Op maandag 18 oktober 2021 om 15:37:24 UTC+2 schreef A3:
>>
>>> Want to lookup a phone number in a db table 
>>> the value to lookup is  e.g.  caller = "+31123456789"
>>> Phone numbers in db field can contain + - .  and also () and is not very 
>>> consistent.
>>> could look like:  phonenumber = "+31-(0)123 456 789" 
>>>
>>> would like something: 
>>> db(db.table.phonenumber.like(caller)).select()
>>>
>>> Any suggestions? 
>>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/668df9f3-9f28-4709-86e2-a707c5666b07n%40googlegroups.com.

Reply via email to