如果你有
e_id ename
1 hansen sahul
2 dennis richard rathore
如何找到 e_id 1 的 ename 计数为?2
如何找到 e_id 2 的 ename 计数为?3
如果你有
e_id ename
1 hansen sahul
2 dennis richard rathore
如何找到 e_id 1 的 ename 计数为?2
如何找到 e_id 2 的 ename 计数为?3
不幸的是,数据库之间的字符串操作函数不同,所以我可以给 SQL Server 方言。如果您使用的是不同的数据库,则必须找到 and 的替代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
以匹配您想要的结果(名称的数量,而不是空格的数量)。
(表设置也是方言,但只是为了帮助创建工作脚本)