oracle如何全角数字,oracle全角转半角函数

oracle中,怎么把一列的全角数字转换为半角数字

函数:

10年积累的网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有准格尔免费网站建设让你可以放心的选择与我们合作。

to_single_byte(c)转换成半角

to_multi_byte(c)转换成全角

实例:

SELECT '12345',

DUMP('12345'),

TO_SINGLE_BYTE('12345'),

DUMP(TO_SINGLE_BYTE('12345'))

FROM dual;

◆◆决定一个SQL执行效率的是执行计划, 而不是SQL的写法.◆◆

1. 数据真实的"统计"的分布情况

2. 系统视图中记录的统计信息

3. 实际每个SQL执行时对应的数据情况

请问如何从一列包含大小写字母、数字、汉字、全角字符的数据中只把由汉字组成的数据查出来,oracle 10g

使用ASCII码 进行判断

下面的例子

Oracle ASCII码判断数字和字母方法--实用

判断参数是数字和字母

如果是数字、字母返回结果为 Y

如果是非数字非字母返回结果为N

create or replace function check_number_character(p_param in varchar2)

return varchar2

is

v_length number;

v_chr_trim varchar2(100);

v_chr varchar2(10);

v_ascii number;

v_result varchar2(1);

begin

select trim(p_param)

into v_chr_trim

from dual;

select length(v_chr_trim)

into v_length

from dual;

for i in 1..v_length loop

select substr(v_chr_trim,i,1)

into v_chr

from dual;

select ascii(v_chr)

into v_ascii

from dual;

if (v_ascii between 48 and 57) or

(v_ascii between 65 and 90) or

(v_ascii between 97 and 122) then

v_result := 'Y';

else

v_result := 'N';

return v_result;

end if;

end loop;

return v_result;

exception

when no_data_found then

dbms_output.put_line('Please input parameter!');

return 'N';

end;

oracle数据库全角半角问题

select * from testtree tt where to_single_byte(tt.name) like '%%'

你写的不够具体,很多的内容没有写,所以,不清楚你想要什么样的结果,如果你想查找表中含有某个字符,但是这个字符在某些记录中是存储的全角,在某些记录中是存储的半角,就用这种方法查询。

select * from testtree tt where length(tt.name)!=lengthb(tt.name)

上面的这个语句是查询所有含有全角字符的记录

希望对你有帮助!


文章标题:oracle如何全角数字,oracle全角转半角函数
文章路径:http://myzitong.com/article/hccjjd.html