admin

不使用正则表达式的字母和数字排列的SQL匹配

sql

是否可以为MySQL编写一条SQL语句,而无需使用REGEXP来查找匹配特定字母/数字排列的所有行?

即从myTable中选择myCol,其中myCol =’ {number} {number} {letter}

应该返回12X和34Y,但不能返回123X或34YY

[我之前曾问过类似的问题-(
字母和数字排列的SQL匹配)。不同之处在于,我发现我无法在正使用的ADO.Net驱动程序中使用正则表达式。而且,由于我使用的Visual Studio2003与更高版本不兼容,因此无法更新它。]


阅读 148

收藏
2021-06-07

共1个答案

admin

试试这个:

SELECT myCol 
FROM myTable 
WHERE SUBSTRING(myCol, 1 , 1) >= 'A' 
AND SUBSTRING(myCol, 1 , 1) <= 'Z' 
AND SUBSTRING(myCol, 2 , 1) >= 'A' 
AND SUBSTRING(myCol, 2 , 1) <= 'Z' 
AND SUBSTRING(myCol, 3 , 1) >= '0' 
AND SUBSTRING(myCol, 3 , 1) <= '9'
2021-06-07