You seemed to be expecting that
name NOT LIKE 'InternetGatewayDevice.%.[1-9]' AND name NOT LIKE
'InternetGatewayDevice.%.[^1-9]
would exclude some of the rows you are getting.
This is incorrect. The only wild cards affecting operation of the LIKE
operator are '%' and '_'.

Regards,
Simon


2008/6/25 James <[EMAIL PROTECTED]>:
> Hi, Simon:
>        Thanks for help me solve this problem.
>        I have study the link you give me. But I still don't understand why
> my original SQL statement can't work. Could you explain in detail?
>        Thank you.
>
> James
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Simon Davies
> Sent: Wednesday, June 25, 2008 4:40 PM
> To: General Discussion of SQLite Database
> Subject: Re: [sqlite] NOT LIKE statement
>
> I can get your expected results from the data you have given, as shown
> below:
>
> sqlite> CREATE TABLE tst( name text );
> sqlite>
> sqlite> insert into tst values( 'InternetGatewayDevice.DeviceInfo.' );
> sqlite> insert into tst values( 'RubbishForTesting.DeviceInfo.1' );
> sqlite> insert into tst values(
> 'InternetGatewayDevice.DeviceInfo.AdditionHardwareVersion' );
> sqlite> insert into tst values(
> 'InternetGatewayDevice.DeviceInfo.SerialNumber' );
> sqlite> insert into tst values( 'RubbishForTesting.DeviceInfo.2' );
> sqlite> insert into tst values( 'InternetGatewayDevice.ManagementServer.' );
> sqlite> insert into tst values( 'InternetGatewayDevice.ManagementServer.URL'
> );
> sqlite> insert into tst values( 'RubbishForTesting.DeviceInfo.3' );
> sqlite> insert into tst values(
> 'InternetGatewayDevice.ManagementServer.Username' );
> sqlite> insert into tst values(
> 'InternetGatewayDevice.ManagementServer.DownloadProgressURL' );
> sqlite> insert into tst values( 'RubbishForTesting.DeviceInfo.4' );
> sqlite>
> sqlite>
> sqlite> select name from tst where name like 'InternetGatewayDevice.%';
> InternetGatewayDevice.DeviceInfo.
> InternetGatewayDevice.DeviceInfo.AdditionHardwareVersion
> InternetGatewayDevice.DeviceInfo.SerialNumber
> InternetGatewayDevice.ManagementServer.
> InternetGatewayDevice.ManagementServer.URL
> InternetGatewayDevice.ManagementServer.Username
> InternetGatewayDevice.ManagementServer.DownloadProgressURL
> sqlite>
> sqlite>
> sqlite> select name from tst where name like 'InternetGatewayDevice.%'
> and name not like 'InternetGatewayDevice.%._%';
> InternetGatewayDevice.DeviceInfo.
> InternetGatewayDevice.ManagementServer.
> sqlite>
>
> Rgds,
> Simon
>
> 2008/6/25 James <[EMAIL PROTECTED]>:
>> Hi,
>> I will read that.
>> But I want to know that is it possible to get the expected result?
>> Thank you.
>>
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] On Behalf Of Simon Davies
>> Sent: Wednesday, June 25, 2008 3:57 PM
>> To: General Discussion of SQLite Database
>> Subject: Re: [sqlite] NOT LIKE statement
>>
>> Hi James,
>>
>> I think the problem lies with your expectations.
>>
>> Read the section on the LIKE operator in
>> http://www.sqlite.org/lang_expr.html
>>
>> Rgds,
>> Simon
>>
>> 2008/6/25 James <[EMAIL PROTECTED]>:
>>> Hi,
>>>
>>> I execute the SQL statement [SELECT Name FROM tr069;] and get the result
>>>
>>> InternetGatewayDevice.DeviceInfo.
>>>
>>> InternetGatewayDevice.DeviceInfo.AdditionHardwareVersion
>>>
>>> InternetGatewayDevice.DeviceInfo.AdditionalSoftwareVersion
>>>
>>> InternetGatewayDevice.DeviceInfo.Description
>>>
>>> InternetGatewayDevice.DeviceInfo.DeviceLog
>>>
>>> InternetGatewayDevice.DeviceInfo.DeviceStatus
>>>
>>> InternetGatewayDevice.DeviceInfo.EnabledOptions
>>>
>>> InternetGatewayDevice.DeviceInfo.FirstUseDate
>>>
>>> InternetGatewayDevice.DeviceInfo.HardwareVersion
>>>
>>> InternetGatewayDevice.DeviceInfo.SoftwareVersion
>>>
>>> InternetGatewayDevice.DeviceInfo.Manufacturer
>>>
>>> InternetGatewayDevice.DeviceInfo.ManufacturerOUI
>>>
>>> InternetGatewayDevice.DeviceInfo.ModelName
>>>
>>> InternetGatewayDevice.DeviceInfo.ProductClass
>>>
>>> InternetGatewayDevice.DeviceInfo.ProvisioningCode
>>>
>>> InternetGatewayDevice.DeviceInfo.SerialNumber
>>>
>>> InternetGatewayDevice.DeviceInfo.UpTime
>>>
>>> InternetGatewayDevice.ManagementServer.
>>>
>>> InternetGatewayDevice.ManagementServer.URL
>>>
>>> InternetGatewayDevice.ManagementServer.Username
>>>
>>> InternetGatewayDevice.ManagementServer.Password
>>>
>>> InternetGatewayDevice.ManagementServer.PeriodicInformEnable
>>>
>>> InternetGatewayDevice.ManagementServer.PeriodicInformInterval
>>>
>>> InternetGatewayDevice.ManagementServer.PeriodicInformTime
>>>
>>> InternetGatewayDevice.ManagementServer.ParameterKey
>>>
>>> InternetGatewayDevice.ManagementServer.ConnectionRequestURL
>>>
>>> InternetGatewayDevice.ManagementServer.ConnectionRequestUsername
>>>
>>> InternetGatewayDevice.ManagementServer.ConnectionRequestPassword
>>>
>>> InternetGatewayDevice.ManagementServer.UpgradesManaged
>>>
>>> InternetGatewayDevice.ManagementServer.KickURL
>>>
>>> InternetGatewayDevice.ManagementServer.DownloadProgressURL
>>>
>>>
>>>
>>> And I execute the SQL statement [SELECT name FROM tr069 WHERE name LIKE
>>> 'InternetGatewayDevice.%' AND name NOT LIKE
>> 'InternetGatewayDevice.%.[1-9]'
>>> AND name NOT LIKE 'InternetGatewayDevice.%.[^1-9] ';] and expect to get
>> the
>>> result [InternetGatewayDevice.DeviceInfo.] and
>>> [InternetGatewayDevice.ManagementServer.].
>>>
>>> But I still get the above result. I don't know where the problem is.
>>>
>>> Could someone tell me ?
>>>
>>> Thank you.
>>>
>>>
>>>
>>> James Liang
>>>
>>> _______________________________________________
>>> 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
>>
> _______________________________________________
> 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