A. sql如何查询某字段中某字符的个数
将要查询字段的长度减去该字段将要查询字符替换为空后的长度
select
len(字段名)-len(replace(字段名,要查询的字符,''))from
table
B. Sql Server 计算某个字符 在字符串中有多少
引言:比如有一个字符串“oiddiaj/j9jkl/88ol”,想要计算字符串中/的个数,用到len这个方法
[sql] view plain
len('oiddiaj/j9jkl/88ol')-len(replace('oiddiaj/j9jkl/88ol','/',''))
想判断某个字符包含在某个字段内可以用charindex函数
C. 在SQL中,统计某字符串的个数,语句改如何写
selectckgj,count(1)cnt
fromtabname
groupbyckgj
D. sql中如何统计一字段中字符串的个数
declare @s varchar(100)
set @s='156434A27kAsdABCiosd-01&**('
--找出现的次数
select len(@s)-len(replace(@s,'A',''))
SQL中字符串截取函数(SUBSTRING)
1、left(name,4)截取左边的4个字符
列:
SELECT LEFT(201809,4) 年
结果:2018
2、right(name,2)截取右边的2个字符
SELECT RIGHT(201809,2) 月份
结果:09
(4)sql判断中文字符的个数扩展阅读
sql中group by用法:
GROUP BY可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。
GROUP BY必须得配合聚合函数来用,分组之后可以计数(COUNT),求和(SUM),求平均数(AVG)等。
常用聚合函数:count()计数、sum()求和、avg()平均数、max()最大值、min()最小值。
SELECT 语句指定了两列(Customer 和 SUM(OrderPrice))。"SUM(OrderPrice)" 返回一个单独的值("OrderPrice" 列的总计),而 "Customer" 返回 6 个值(每个值对应 "Orders" 表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUP BY 语句解决了这个问题。
E. pl/sql中中文是几个字符
在计算机中一个字的占位是按字节计算的,一个字节占8位二进制。
通常分为单字节字,和双字节字。数字、字母、常用符号都属于单字节字,
汉子都属于双字节字。通常可以说一个汉子占两个字符位。
例如:在SQL函数SUBSTR中,按字计算,数字、字母、汉字都看做一个字,
但在SUNSTRB中,按字节计算,数字、字母是一个字节,汉字算2个字节。
F. sql语言:如何查询字符串某个字符的个数
好像没有直接的方法吧,写个循环试试
loop
a=instr(string,'n',1,1);
--查找第一次出现的位置
string
=
substr(string,a+1,length(string)-a);
--截取第一次出现位置之后的字符,为新的字符串
if
a
<>
0
then
--查询一次,记录增加一次,当查询结束时,找不到字符,返回数据为0
,则推出循环
b=
b+1;
else
b=b;
end
if;
EXIT
WHEN
A=0;--当截取不到字符串时,推出循环
end
loop;
我只大体写了个循环思路,具体的自己完善吧~
G. SQL 如何判断字符个数的函数和select 某项想邻项的语句
第一个:
巧把指定字符替换成空,然后计算长度可得到该字符的个数
SELECT
LEN(字段)-LEN(REPLACE(字段,'|',''))
as
个数
from
表
第二个:
可以使用前台软件的
上一条
下一条
功能来实现
H. sql 判断一个字符在字符串中有多少个
select len(col1)-len(replace(col1, '字符','')) from table1
I. oracle sql 判断 字段是否是汉字
1、使用ASCIISTR函数判别
ASCIISTR函数说明:ASCIISTR返回字符的ASCII形式的字符串。非ASCII的字符被转化为xxxx的形式。使用ASCIISTR函数也是根据非ASCII字符会被转化这个特性来判别中文字符,只要里面包含中文字符,则必定会有xxx这样的字符。
使用 ASCIISTR(NAME_ONE) LIKE '%\%' 就能判别那些有中文的记录。如下所示:
SELECT NAME_ONE FROM TEST WHERE ASCIISTR(NAME_ONE) LIKE'%\%'
2、使用CONVERT函数判别
CONVERT函数说明:
CONVERT(inputstring,dest_charset,source_charset)
inputstring:要转换的字符串
dest_charset:目标字符集
source_charset:原字符集
3、使用函数length和lengthb来判别
使用函数length与lengthb来判别,是基于中文字符占用2~4个字节,而ASCII字符占用一个字节,那么对比LENGTH与LENGTHB就会不一样。这样就能判别字段中是否包含中文字符,但是跟ASCIISTR一样,如果里面的非ASCI字符包含非中文,它一样不能判别。依然有取巧嫌疑。
SELECT NAME_ONE FROM TEST WHERE LENGTH(NAME_ONE) != LENGTHB(NAME_ONE);
(9)sql判断中文字符的个数扩展阅读
Oracle SQL编写注意事项:
1、SQL语句用大写的;因为Oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。
2、数据表最好起别名;因为便于sql优化器快速分析。
3、尽量不要使用 insert into table value(?,?,?,?,?)格式,要指出具体要赋值的字段。INSERT.....SELECT的效率会有提高。
4、select与from语句之间只定义返回的字段名,除非返回所有的字段,尽量不要使用 * 。
5、select字段名应按照表的字段物理顺序编写,字段提取要按照“需多少、提多少”的原则,原因是大批量数据的抽取会影响sql缓存的效率。
6、COUNT(*)也是要避免的,因为Count(*)会对全字段做聚集。但一般的观点相反, count(*) 比count(1)稍快 , 当然如果可以通过索引检索,对索引列的计数仍旧是最快的. 例如 COUNT(EMPNO)。
7、条件中使用or 会引起全表扫描,比较影响查询效率,尽可能少用或不用,实在不行可以用UNION代替。