写一函数,准确地判断字段是否含有汉字或者提取汉字等

写一函数,准确地判断字段是否含有汉字或者提取汉字等 从表里提取汉字, 需要考虑字符集, 不同的字符集汉字的编码有所不同这里以GB2312为例, 写一函数准确地从表里提取简体汉字. 假设数据库字符集编码是GB2312, 环境变量(注册表或其它)的字符集也是GB2312编码并且保存到表里的汉字也都是GB2312编码的 那么也就是汉字是双字节的,且简体汉字的编码范围是 B0A1 - F7FE 换算成10进制就是 B0 A1 F7 FE 176,161 - 247,254 我们先看一下asciistr函数的定义 Non-ASCII characters are converted to the form xxxx, where xxxx represents a UTF-16 code unit. 但是这并不表示以 "" 开始的字符就是汉字了 举例如下 SQL> select * from test; NAME -------------------- ,啊OO10哈你好aa 大家好aa/ ☆大海123 ★ABC 这里第5条记录有一个实心的五角星然后用asciistr函数转换一下试试 SQL> select name,asciistr(name) from test; NAME ASCIISTR(NAME) -------------------- ---------------------- ,啊OO10哈 ,554AOO1054C8 你好aa 4F60597Daa 大家好aa/ 59275BB6597Daa/ ☆大海123 260659276D77123 ★ABC 2605ABC 我们看到最后一条记录的实心五角星也是 ""开头的此时我们就不能用asciistr(字段)是否存在 "" 来判断是否含有汉字了. 我的函数如下,基本思路是判断字符的编码是否在GB2312规定的汉字编码范围之内[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-986910/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10748419/viewspace-986910/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值