sql语句过滤数据表名的问题?

时间:2022-04-04 12:18:44
昨天一位朋友说:你要建表要中文就中文 要英文就英文。为什么非得中英混合?
如果你英文不要显示那你就从程序上控制,过滤掉A-Z,a-z为开头的表名。

那么我想请教一下大家,这位朋友说的从程序上过滤掉从字母开头的表名,具体方法怎么做呢?他说的过滤是不是用SQL语句的方法进行过滤呢?高手指点下。最好写一下实现代码我参考下,谢谢!

因为我本人不知道他说的方法是什么,怎么实现?所以请大家指导下。我的目的就是想把MSSQL网络数据库中的所有中文的表名全部提取出来,把所有的英文表名全部过滤掉(因为在MSSQL数据库里中文表名和英文表名都是放在一起的),然后把中文表名全部显示在窗体的列表框当中,这是这个目的。

高手指导下,谢谢!

7 个解决方案

#1


过滤掉所有含有英文字母的表名:

SELECT * FROM sys.tables
WHERE name NOT LIKE '%[a-z]%'

#2



select  * from sysobjects where xtype='U' and name not like '%[A-z]%'

#3


改一下2樓的

select top 100 * from sysobjects where xtype='U' and name like '%[A-Za-z]%'

#4



select  * from sysobjects where xtype='U' and name like '%[A-Za-z]%'

#5


select  * from sysobjects where xtype='U' and name not like '%[A-Za-z]%'

#6


2,3,4楼的有问题
5楼的对

#7


select  * from sysobjects where xtype='U' and name not like '%[A-Za-z]%'

#1


过滤掉所有含有英文字母的表名:

SELECT * FROM sys.tables
WHERE name NOT LIKE '%[a-z]%'

#2



select  * from sysobjects where xtype='U' and name not like '%[A-z]%'

#3


改一下2樓的

select top 100 * from sysobjects where xtype='U' and name like '%[A-Za-z]%'

#4



select  * from sysobjects where xtype='U' and name like '%[A-Za-z]%'

#5


select  * from sysobjects where xtype='U' and name not like '%[A-Za-z]%'

#6


2,3,4楼的有问题
5楼的对

#7


select  * from sysobjects where xtype='U' and name not like '%[A-Za-z]%'