1. sql server 2008 只提取结果集中的英文,汉字或字母不要
SELECTleft(name,patindex('%[^a-zA-Z]%',name)-1)
FROMdbo.test
WHEREISNUMERIC(name)<>1
这样就可以了
2. sql怎么查询出两列字段相同的数据(在忽略英文大小写和空格的情况下)
字段值去掉空格和转换成大写或小写之后,再做比较就可以了。
不知道你是什么数据库,以ORACLE数据库举例:
SELECTDISTINCTIN1.*
FROMINVENTORYIN1
WHEREEXISTS(
SELECTIN2.*
FROMINVENTORYIN2
WHEREIN1.ID!=IN2.ID
ANDLOWER(REPLACE(IN1.NAME,''))=LOWER(REPLACE(IN2.NAME,''))
ANDLOWER(REPLACE(IN1.STD,''))=LOWER(REPLACE(IN2.STD,''))
)
3. 如何用sql语句把所有包含中文字段的表筛选出来
通过sysobjects与syscolumns关联就可以得到所有表的字段名,再进行过滤就行了
select distinct a.name
from sysobjects a
join syscolumns b on a.id=b.id
where a.type = 'U' and b.name like '%[一-龥]%'
order by a.name
4. sql怎么查询出两列字段相同的数据(同时忽略英文大小写和空格的情况下)
SQL 关键字 UPPer(),lower() 函数,
UPPer 统一转换成大写,
lower 统一转换成小写
假如表 T 中存在t 字段,数据为:’abCD‘
select * from T where UPPER(t)=UPPER(abCD)
上面是转换成大写再比较,转换小写用法类似。
5. SQL如何处理英文和中文分开
单条sql查询句我不知道。写个自定义函数吧,用ascii判断每个字符。
6. sql 语句 急!!!! 数据将英文和数字去掉,只保留汉字的sql语句
1、创建测试表,
create table test_replace_str(value varchar2(200));
4、编写语句,将英文和数字去掉,只保留汉字;
select t.*, regexp_replace(value, '[a-zA-Z0-9]', '') sec
from test_replace_str t;
7. sql 一格数据中有中英文 我怎么删除英文部分
SELECTREGEXP_REPLACE('ACSFsagfsd11asdasfassAAA','[a-z]|[A-Z]','')FROMDUAL;使用REGEXP_REPLACE函数,上面是参考的例子,去除所有字母(大小写都去除),请采纳
8. sql语句里 where条件中怎么把带有字母的结果过滤掉
SQL2000以上的话,就用正则吧
应该是 SELECT * FROM 表名 WHERE REGEXP_INSTR(列名, '[a-z]')=0
9. presto sql如何忽略中英文括号匹配
中英文括号是不同的符号,匹配不上很正常。
可以通过下面几种方式处理:
1. 统一输入,所有公司名在输入的时候都把括号统一成中文或英文(直接用字符串替换就行了),搜索的时候也统一一下。
旧的数据可以直接操作数据库替换(操作前记得备份)
2. 搜索前将括号替换为通配符,使用like做条件检索。
如:搜索关键字 你好(北京)信息技术有限公司
则sql语句生成为 where companyname like '你好%北京%信息技术有限公司' (如果之前是用 = 作条件的话,两边不加% ,如果之前就是用like,在之前的条件中调整)
10. 在sql查询中如何只查该字段只包含汉字,不含其它符号、数字、英文之类的。请大神解答。
select * from 表名 where REGEXP_LIKE(列名,'[^\w]')