SQLite中文排序

定义一个类:

using System.Data.SQLite;

namespace DAL
{
    /// <summary>
    /// SQLite中文排序
    /// </summary>
    [SQLiteFunction(FuncType = FunctionType.Collation, Name = "PinYin")]
    public class SQLitePinYingSort : SQLiteFunction
    {
        public override int Compare(string x, string y)
        {
            return string.Compare(x, y);
        }
    }
}

在Global.asax.cs文件的Application_Start方法中添加如下代码:

SQLiteFunction.RegisterFunction(typeof(SQLitePinYingSort)); //使SQLite支持中文排序

SQL代码:

select ct.*
from mas_channel_type ct
where ct.pId=-1
order by ct.typeName COLLATE PinYin

时间: 2024-08-24 18:13:05

SQLite中文排序的相关文章

PHP与MYSQL中UTF8 中文排序例子

1. 需要在php数组中用中文排序,但是一般使用utf8格式的文件,直接用asort排序不行.用gbk和gb2312可以.这跟几种格式的编码有关系.gbk和gb2312本身的编码就是用拼音排序的. 代码如下 复制代码 function utf8_array_asort(&$array){if(!isset($array) || !is_array($array)){return false;}foreach($array as $k=>$v){$array[$k] = iconv('UTF-

iOS 中文排序

这里分享一个中文排序的一个便捷方法,整理了一个网络的资源自己封装成一个类别方便以后使用, 这里贴出使用的方法,源码可以在本文最后下载. 要记得加头文件 #import "NSArray+SortedChinAndEng.h" 这个头文件在源码中. NSArray *[email protected][ @"小明", @"微博", @"你好", @"小米", @"腾讯", @"再

ORACLE的order by中文排序

在使用order by排序的时候,出现如下情况:   印象中中文排序应该默认是按照拼音排序的,为何"鑫"会排在"中"的后面呢?猜想order by是不是根据对应字符的ASCII码排的呢,因此列出了对应的ASCII,如下:   由此基本可以断定,确实是通过ASCII的大小来排序的,这也解释了为什么数字会排在字母之前,字母为什么会排在汉字之前的现象.但是为什么会出现汉字默认是通过拼音排序的错觉呢,于是查了一下汉字的编码规则,有提到如下一句:       "一级

关于字典与数组的倒叙,自定义排序,中间目录、中文排序

// //  main.m //  10.1.2 // //  Created by fwzx11 on 16/1/10. //  Copyright (c) 2016年 Blue Mobi. All rights reserved. // #define NSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]); #import &l

练习 字符串存入字典 数组的降序 倒序 字符串目录存不存在 数组中文排序

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 请将如下数据存储成字典,并将字典内容以字符串形式输出,输出:"XXX,年龄XXX岁,科目XXX,分数XXX"(将XXX替换为相应的数据). */ NSString *name = @"张三"; NSInteger age = 22; NSNumber 

一月十日练习习题,1数组数据存入字典并输出2降序 和倒叙 输出数组中内容3对字符串当中信息进行查找是否存在4 把数组当中信息尽心中文排序

// //  main.m //  Pratise_Jan10_1 // //  Created by wangyang on 16/1/10. //  Copyright (c) 2016年 Wangyang. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 请将如下数据存储成字典,并将字典

死去活来的OC NSArray 中文排序 及输出

目的 1.NSArray 可以支持中文排序 2.NSLog 可以直接输出 NSArray 内的中文(其实 java 直接打印数组也不能显示内容哈) 又是死去活来的搞了1个小时,分类实现,废话少说,上代码 main.m #import <Foundation/Foundation.h #import "NSArray+Log.h" int main(int argc, const char * argv[]) { NSArray * arr = [NSArray arrayWith

关于数组的倒叙、降序、目录是否包含文件、中文排序等等

int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 请将如下数据存储成字典,并将字典内容以字符串形式输出,输出:"XXX,年龄XXX岁,科目XXX,分数XXX"(将XXX替换为相应的数据). */ //        NSString *name = @"张三"; //        NSInteger age = 22; //        NSNumber  *[email pr

中文排序哈哈

// // main.m // 之前1 // // Created by syrcfwzx on 16/1/11. // Copyright (c) 2016年 syrcfwzx. All rights reserved. // #import <Foundation/Foundation.h> #define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS_