SQL获取姓氏为5个字符的学生

SQL获取姓氏为5个字符的学生,sql,Sql,我有一张桌子叫学生。 此表有两个字段(ID、名称) 我需要选择所有姓氏有5个字符的学生 例如,如果我在这个表中有两条记录 Student 1: ID - 1 Name - Roman Jatt Pearce Student 2: ID:2 Name: Matt Crazy 我想要的查询应该只返回Matt Crazy,因为他的姓有5个字符,而roman pearce的没有 有人告诉我使用charindex,但我真的不知道如何实现它 有什么建议吗?假设

我有一张桌子叫学生。 此表有两个字段(ID、名称)

我需要选择所有姓氏有5个字符的学生

例如,如果我在这个表中有两条记录

Student 1: ID - 1
           Name - Roman Jatt Pearce

Student 2: ID:2
           Name: Matt Crazy
我想要的查询应该只返回Matt Crazy,因为他的姓有5个字符,而roman pearce的没有

有人告诉我使用charindex,但我真的不知道如何实现它


有什么建议吗?

假设
名称的格式始终是“前中后”,没有名称包含空格,也没有其他类似于所列代的内容(Jr.,Sr.,et al.)


假设
Name
的格式始终为“First-Middle-Last”,则没有名称包含空格,也没有列出其他类似generation的内容(Jr.,Sr.,et al.)


假设
Name
的格式始终为“First-Middle-Last”,则没有名称包含空格,也没有列出其他类似generation的内容(Jr.,Sr.,et al.)


假设
Name
的格式始终为“First-Middle-Last”,则没有名称包含空格,也没有列出其他类似generation的内容(Jr.,Sr.,et al.)

怎么样

select * from Students where Name like '% _____'
破折号来了五次

怎么样

select * from Students where Name like '% _____'
破折号来了五次

怎么样

select * from Students where Name like '% _____'
破折号来了五次

怎么样

select * from Students where Name like '% _____'


由于破折号出现五次

可能首先重复,为什么要将名字和姓氏都存储在一列中?第二,对于
Pearce
你怎么知道那是姓?为什么它不是Jatt Pearce
?不是一个好的数据库设计,在一列中有第一个和最后一个。把它们分开,然后看LEN函数我不能更改老师给我的数据库来解决这个练习。@aconstancio--这个老师应该教什么?可能是重复的,首先,为什么要将名字和姓氏都存储在一列中?第二,对于
Pearce
你怎么知道那是姓?为什么它不是Jatt Pearce?不是一个好的数据库设计,在一列中有第一个和最后一个。把它们分开,然后看LEN函数我不能更改老师给我的数据库来解决这个练习。@aconstancio--这个老师应该教什么?可能是重复的,首先,为什么要将名字和姓氏都存储在一列中?第二,对于
Pearce
你怎么知道那是姓?为什么它不是Jatt Pearce?不是一个好的数据库设计,在一列中有第一个和最后一个。把它们分开,然后看LEN函数我不能更改老师给我的数据库来解决这个练习。@aconstancio--这个老师应该教什么?可能是重复的,首先,为什么要将名字和姓氏都存储在一列中?第二,对于
Pearce
你怎么知道那是姓?为什么它不是Jatt Pearce?不是一个好的数据库设计,在一列中有第一个和最后一个。把他们分开,然后看LEN函数我不能更改老师给我的数据库来解决这个练习。@aconstancio--这个老师应该教什么?还假设他们使用SQL Server。@ypercube很好,他被告知要使用
CHARINDEX()
,所以这似乎是一个安全的假设。如果他需要Oracle或MySQL,
INSTR()
;PostgreSQL,
STRPOS()
;DB2,
LOCATE()
。哦,是的,我错过了。还假设他们使用SQL Server。@ypercube很好,他被告知使用
CHARINDEX()
,所以这似乎是一个安全的假设。如果他需要Oracle或MySQL,
INSTR()
;PostgreSQL,
STRPOS()
;DB2,
LOCATE()
。哦,是的,我错过了。还假设他们使用SQL Server。@ypercube很好,他被告知使用
CHARINDEX()
,所以这似乎是一个安全的假设。如果他需要Oracle或MySQL,
INSTR()
;PostgreSQL,
STRPOS()
;DB2,
LOCATE()
。哦,是的,我错过了。还假设他们使用SQL Server。@ypercube很好,他被告知使用
CHARINDEX()
,所以这似乎是一个安全的假设。如果他需要Oracle或MySQL,
INSTR()
;PostgreSQL,
STRPOS()
;DB2,
LOCATE()
。哦,是的,我错过了。