返回第一个字符为非alpha的行

XSL*_*XSL 4 sql sqlite alphanumeric sql-like

我正在尝试检索所有以SQlite中的任何非字母字符开头的列,但似乎无法使其正常工作.我目前有这个代码,但它返回每一行:

SELECT * FROM TestTable WHERE TestNames NOT LIKE '[A-z]%'
Run Code Online (Sandbox Code Playgroud)

有没有办法检索TestNames的第一个字符不属于字母表的所有行?

Twe*_*fth 7

你是第一个角色吗?

select * from TestTable WHERE substr(TestNames,1) NOT LIKE '%[^a-zA-Z]%'
Run Code Online (Sandbox Code Playgroud)

substr函数(在某些SQL语言中也可以称为left())将帮助隔离字符串中的第一个char.

编辑:也许在sqllite中的substr(TestNames,1,1),我没有一个准备好的实例来测试那里的语法.

添加:

select * from TestTable WHERE Upper(substr(TestNames,1,1)) NOT in ('A','B','C','D','E',....)
Run Code Online (Sandbox Code Playgroud)

似乎不是最佳的,但在功能上将起作用.不确定在SQLlite中使用哪些char命令来执行一系列字母.

我使用'upper'来制作它,所以你不需要在not in语句中做小写字母......有点希望SQLlite知道那是什么.