(转) 根据拼音首字母检索数据库
2010-05-19 14:20
190 查看
1 在数据库中建立一个函数,在执行查询语句时通过此函数来转化搜索,函数如下:
2 在查询时调用些函数
select * from 表 where fun_getPY(字段) like '%aa%'
3 LINQ 方式操作
初学 LINQ 的朋友或许对 .dbml 文件不是很熟悉,数据库中的表可以直接拖动到 .dbml 的左侧,而存储过程、函数等可以直接拖到其右侧,然后就可以直接在逻辑使用了,下面是例子:
DataClasses1DataContext db = new DataClasses1DataContext();
var q = from d in db.Documents
where d.Title.Contains("zgr") || db.fun_getPY(d.Title).Contains("zgr")
select d;
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: xoyozo -- Create date: 2010-4-17 -- Description: 提供中文首字母 -- ============================================= CREATE FUNCTION fun_getPY ( @str NVARCHAR(4000) ) RETURNS NVARCHAR(4000) AS BEGIN DECLARE @word NCHAR(1),@PY NVARCHAR(4000) SET @PY='' WHILE len(@str)>0 BEGIN SET @word=left(@str,1) SET @PY=@PY+(CASE WHEN unicode(@word) BETWEEN 19968 AND 19968+20901 THEN (SELECT TOP 1 PY FROM ( SELECT 'A' AS PY,N'驁' AS word UNION ALL SELECT 'B',N'簿' UNION ALL SELECT 'C',N'錯' UNION ALL SELECT 'D',N'鵽' UNION ALL SELECT 'E',N'樲' UNION ALL SELECT 'F',N'鰒' UNION ALL SELECT 'G',N'腂' UNION ALL SELECT 'H',N'夻' UNION ALL SELECT 'J',N'攈' UNION ALL SELECT 'K',N'穒' UNION ALL SELECT 'L',N'鱳' UNION ALL SELECT 'M',N'旀' UNION ALL SELECT 'N',N'桛' UNION ALL SELECT 'O',N'漚' UNION ALL SELECT 'P',N'曝' UNION ALL SELECT 'Q',N'囕' UNION ALL SELECT 'R',N'鶸' UNION ALL SELECT 'S',N'蜶' UNION ALL SELECT 'T',N'籜' UNION ALL SELECT 'W',N'鶩' UNION ALL SELECT 'X',N'鑂' UNION ALL SELECT 'Y',N'韻' UNION ALL SELECT 'Z',N'咗' ) T WHERE word>=@word COLLATE Chinese_PRC_CS_AS_KS_WS ORDER BY PY ASC) ELSE @word END) SET @str=right(@str,len(@str)-1) END RETURN @PY END 详细出处参考:http://www.jb51.net/article/23213.htm
2 在查询时调用些函数
select * from 表 where fun_getPY(字段) like '%aa%'
3 LINQ 方式操作
初学 LINQ 的朋友或许对 .dbml 文件不是很熟悉,数据库中的表可以直接拖动到 .dbml 的左侧,而存储过程、函数等可以直接拖到其右侧,然后就可以直接在逻辑使用了,下面是例子:
DataClasses1DataContext db = new DataClasses1DataContext();
var q = from d in db.Documents
where d.Title.Contains("zgr") || db.fun_getPY(d.Title).Contains("zgr")
select d;
相关文章推荐
- 城市列表-根据拼音首字母排序
- mysql 根据中英文首字母检索
- [DB][ORACLE]根据中文拼音首字母排序、取得中文拼音首字母函数
- asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法)
- sql中怎么根据汉字的拼音首字母查询
- 【收藏】根据拼音首字母筛选人名
- sqlserver 根据拼音首字母查询数据
- php从PostgreSQL 数据库检索数据,实现分页显示以及根据条件查找数据
- 根据拼音首字母查询
- asp.net 根据拼音首字母筛选人名
- JQuery根据字母检索元素并导航到指定位置
- mysql根据中文拼音进行字母检索
- 根据中文拼音首字母排序、取得中文拼音首字母函数 oracle 排序
- 根据拼音首字母筛选人名
- delphi学习点滴——用拼音首字母来实现检索功能
- 【很好的方法记录下来】sql中怎么根据汉字的拼音首字母查询?
- 收藏 根据拼音首字母筛选人名
- 1.读取excel文件,将输入存储到数据库中(JXL) 2.完成商品的检索相关功能 1.根据分类,显示分类下所有的商品信息,按照库存量从低到高排序(提供补货依据) 2.模糊搜索,根据商品信息(名
- PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
- 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法)