请帮忙想想如何写这个sql语句:查所有同音字姓名的同学,求更好的方法(200分)

  • 主题发起人 主题发起人 whitehorse
  • 开始时间 开始时间
如何取得比如'我爱编程'等一个词组中每个字的拼音首字母!即取得'WABC'!我将有分送上!
望大虾们帮帮忙!
 
:(
我只能得到
w
A
b
C
这样的,如果用存储过程就可以
答案如下
select 字段 from table
where charindex(字段1,'我爱编程')>0
 
to 天真:
我用charindex时说没有定义charindex,你能否详细的告诉我!
非常感谢!
 
table 的结构及内容是什么?
谢谢!
 
select a.学号,a.姓名,a.性别 from table1 a,table2 b where a.姓名 in (select 汉字
from table2 where b.拼音 like '%zhaoming%')
 
帮忙提千!·







!!!!!!!
 
laibin的功能跟LIKE功能差不多,至于TABLE的结构,你自己爱怎么建就怎么建
 
你是什么数据库?
SQLSERVER:CHARINDEX 至于ORCAL,不好意思,我没用过,不知道
 
前两天有事跑了一趟北京,回来帖子这么热了.谢谢大家的参与
delphi开发者资源交流社区地址:http://delphi.mychangshu.com/
上面有汉字库的拼音编码文件,直接导入自已的数据库中再略加修改就可以了.我自己是
提取的ucdos70下的拼音输入法编码,去掉词组整理而得.

如果输入查询字符串"江民",想要得到查询结果包括姓名为'江民','王江民','江民泽'的记录
可以是使用charindex或patindex
如果输入查询字符串'江??民'想要查到第一第三个字是'江','民'中间是任何字的记录
只有使用like,patindex和通配符'_'了.但是我在使用charindex与substring的时候
竟得到不同结果请大侠们看看怎么回事,这也算上一个问题引发出来的小问题
已知
学员表 编号,姓名
001, 江民
002, 江 民
003, 王江民
004, 江
执行
1.select * from 学员表 where substing(姓名,1,2)='江'
2.select * from 学员表 where charindex('江',姓名)>0
按照想象,第一条语句结果是第1,2,4条记录,第二条语句结果是所有记录
其实不是,第一条语句结果只是第2,4条记录,为什么


 
呵,没有吧
我有测试

王江民
江 民
老江

我用SELECT *
FROM dbo.a
WHERE (CHARINDEX('江', y) > 0)
结果全部出来的呀
 
to q1858:
where b.拼音 like '%zhaoming% 不对,拼音库里只能有单字与拼音码对应的记录格式
to 天真:
我的意思是用charindex得出的结果正确,但使用substring得出的结果不正确,为什么
 
应该是位置不对吧?
 
同意天真的观点
 
在sql2000中汉字与西文字符一样一个汉字算一个字符如
substring(字符串,1,2),如果字符串是汉字取前两个汉字,是西文字符也是取前两个字符
这一点不同于delphi将一个汉字看成两个西文字符。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
625
import
I
后退
顶部