如果你有
e_id ename
1 hansen sahul
2 dennis richard rathore
如何查找e_id 1的ename计数? 2
如何查找e_id 2的ename计数? 3
答案 0 :(得分:0)
不幸的是,字符串操作函数因数据库而异,所以我可以给出SQL Server方言。如果您使用的是其他数据库,则必须找到LEN
和REPLACE
的替代品:
declare @Names table (e_id int,ename varchar(3000))
insert into @Names (e_id, ename) values
(1,'hansen sahul'),
(2,'dennis richard rathore')
select e_id,LEN(ename) - LEN(REPLACE(ename,' ','')) + 1 as namecount
from @Names
结果:
e_id namecount
----------- -----------
1 2
2 3
这可以计算普通字符串和已删除空格的相同字符串之间的长度差异。这在逻辑上等同于字符串中的空格数。然后我们添加1
以匹配您想要的结果(名称数量,而不是空格数量)。
(表格设置也是方言,但只是为了帮助创建一个工作脚本)