重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
将int类型转换string类型方法如下:
专注于为中小企业提供网站建设、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业滦州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
select CAST(A.xxx AS CHAR) as xxx,A.zzz from A wher A.yyy = '123' ;
Oracle的三大类型转换:
1、使用to_char(日期,‘格“常量”式')函数将日期转成字符串:
例1:显示如下格式:2018年05月10日 星期四
selelct to_char(sysdate,'yyyy"年"mm"月"dd"日"day');
例2:显示格式:2015-04-25 今天是星期六 15:15:15
select to_char(sysdate,'yyyy-mm-dd"今天是"day hh24:mi:ss');
2、使用to_char(数值,格式)函数将数值转成字符串。
例1:显示格式:$1,234
select to_char(1234,'$9,999') from clual;
例2:显示格式:¥1,234
select to_char(1234,'L9,999') from clual;
3、使用to_char('字符串','格式')函数,将字符串转成date类型:
例:chax 1980年12月17日入职的员工
select * from emp
where hiredate=todate('1980年12月17日','yyyy"年"mm"月"dd"日"');
4、使用to_number('字符串')函数将字符串转成数字。
扩展资料
Oracle函数的工作方式有两种:
1、根据旧的对象创建新的对象——他们对原来的信息进行修改,如改变字母的大小写。
2、告诉用户有关的信息,如一个单词或句子中有几个字符。
Oracle中主要有两种字符串类型:CHAR和VARCHAR2,他们以字母,标点,数字和空格的混合形式存在。
CHAR串始终为定长的,如果设置的值长度小于CHAR列的串值,会自动填充空格。在比较CHAR串时,会为双方都补满空格后再进行比较。
VARCHAR2数据类型为边长的串(VARCHAR与VARCHAR2为同义词)。
oracle在字符串中间插入字符串的方法有很多,具体如下:
方法一:在要插入的SQL语句前加上Set
define
off;与原SQL语句一起批量执行。
如下:SQL
Set
define
OFF;
然后再次执行导入脚本,OK
方法二:在SQL语句中将''替换成chr(38),因为chr(38)是‘’的ASCII码。
如下:SQL
Select
'Tom'
||
chr(38)
||
'Jerry'
from
dual;
方法三:分拆原来的字符串。
如下:SQL
Select
'Tom'
||
''
||
'Jerry'
from
dual;
和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。
比如执行下面的SQL语句:
SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee
WHERE FName IS NOT NULL
除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句:
SELECT CONCAT('工号:',FNumber) FROM T_Employee
如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,比如执行下面的SQL语句:
SELECT CONCAT('年龄:',FAge) FROM T_Employee
与MYSQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的SQL语句在Oracle中是错误的:
SELECT CONCAT('工号为',FNumber,'的员工姓名为',FName) FROM T_Employee
WHERE FName IS NOT NULL
运行以后Oracle会报出下面的错误信息:
参数个数无效
如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用,上面的SQL可以如下改写:
代码如下:
SELECT CONCAT(CONCAT(CONCAT('工号为',FNumber),'的员工姓名为'),FName) FROM
T_Employee
WHERE FName IS NOT NULL
1、查询结构排序
oracle 可以使用 order by 进行排序
order by 字段 asc 正序
oeder by 字段 desc 倒序。
2、可以写个函数 或存储过程。
如下:
CREATE OR REPLACE TYPE typ_arr AS TABLE OF INTEGER;
DECLARE
v_arr typ_arr := typ_arr(101 ; 312; 566; 129; 315; 122);
v_arr_sort typ_arr;
kk integer := 0;
tt integer := 6;
tmp integer := 0;
BEGIN
select cast(multiset(
select * from table(v_arr)
order by 1) as typ_arr)
into v_arr_sort from dual;
for i_idx in v_arr_sort.first..v_arr_sort.last
loop
tmp := v_arr_sort.last - i_idx + 1;
if tt=v_arr_sort(tmp) then
dbms_output.put_line(kk+1);
return;
end if;
if i_idx = v_arr_sort.last then
return;
end if;
kk := kk+1;
if v_arr_sort(tmp) = v_arr_sort(tmp-1) then
kk := kk-1;
end if;
end loop;
END;