It might be faster but it doesn't work for anybody who has any letters in 
"from" in their name.

sqlite> insert into t values('132|2012-09-07|Logging in user [tom] from 
[10.169.22.59]');
sqlite> select rtrim(s,' from [.0123456789]') || ']' from t;
Logging in user [aaaaaaaaaa]
194|2012-09-07|Logging in user [aaaaa]
160|2012-09-04|Logging in user [aaaaaaa]
136|2012-09-07|Logging in user [aaa]
132|2012-09-07|Logging in user [aaaaaaaaaaa]
132|2012-09-07|Logging in user [t]

The original way still works just fine.
sqlite> select rtrim(rtrim(s,']'),'.1234567890[ from') from t;
Logging in user [aaaaaaaaaa]
194|2012-09-07|Logging in user [aaaaa]
160|2012-09-04|Logging in user [aaaaaaa]
136|2012-09-07|Logging in user [aaa]
132|2012-09-07|Logging in user [aaaaaaaaaaa]
132|2012-09-07|Logging in user [tom]
Michael D. Black
Senior Scientist
Advanced Analytics Directorate
Advanced GEOINT Solutions Operating Unit
Northrop Grumman Information Systems

You have to be very careful when parsing char sets like this to ensure your 
barriers are valid.
________________________________________
From: sqlite-users-boun...@sqlite.org [sqlite-users-boun...@sqlite.org] on 
behalf of Bart Smissaert [bart.smissa...@gmail.com]
Sent: Monday, September 10, 2012 11:19 AM
To: General Discussion of SQLite Database
Subject: EXT :Re: [sqlite] instr function or equivalent

This is slightly faster:

select rtrim(s,' from [.0123456789]') || ']' from t

RBS


On 9/10/12, Bart Smissaert <bart.smissa...@gmail.com> wrote:
> Nice one! Works here.
>
> RBS
>
>
> On 9/10/12, Black, Michael (IS) <michael.bla...@ngc.com> wrote:
>> Does this work for you?
>>
>> SQLite version 3.7.13 2012-06-11 02:05:22
>> Enter ".help" for instructions
>> Enter SQL statements terminated with a ";"
>> sqlite> create table t(s);
>> sqlite> insert into t values('Logging in user [aaaaaaaaaa] from
>> [10.165.69.247]');
>> sqlite> insert into t values('194|2012-09-07|Logging in user [aaaaa] from
>> [10.296.44.163]');
>> sqlite> insert into t values('160|2012-09-04|Logging in user [aaaaaaa]
>> from
>> [10.164.69.248]');
>> sqlite> insert into t values('136|2012-09-07|Logging in user [aaa] from
>> [10.168.59.169]');
>> sqlite> insert into t values('132|2012-09-07|Logging in user
>> [aaaaaaaaaaa]
>> from [10.169.22.58]');
>> sqlite> select rtrim(rtrim(s,']'),'.1234567890[ from') from t;
>> Logging in user [aaaaaaaaaa]
>> 194|2012-09-07|Logging in user [aaaaa]
>> 160|2012-09-04|Logging in user [aaaaaaa]
>> 136|2012-09-07|Logging in user [aaa]
>> 132|2012-09-07|Logging in user [aaaaaaaaaaa]
>>
>> Michael D. Black
>> Senior Scientist
>> Advanced Analytics Directorate
>> Advanced GEOINT Solutions Operating Unit
>> Northrop Grumman Information Systems
>>
>> ________________________________________
>> From: sqlite-users-boun...@sqlite.org [sqlite-users-boun...@sqlite.org]
>> on
>> behalf of Sébastien Roux [roux.sebast...@gmail.com]
>> Sent: Monday, September 10, 2012 10:22 AM
>> To: General Discussion of SQLite Database
>> Subject: EXT :Re: [sqlite] instr function or equivalent
>>
>> Sad! Would you have any link toward SQLite's user defined SQLite
>> function?
>>
>> Many thanks.
>>
>> Sébastien Roux
>>
>>
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to