.小數(shù)轉(zhuǎn)換成字符往往會(huì)丟失前面的零.解決方法_例:to_char(0.12345,'fm9999999990.00');
成都創(chuàng)新互聯(lián)專注于蒲江縣企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。蒲江縣網(wǎng)站建設(shè)公司,為蒲江縣等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
2.除數(shù)為零的話Oracle老是報(bào)錯(cuò).解決方法_例:decode(B,0,0,A/B);
3.用sub(0.123333,0,3)截取字符串老是得到的結(jié)果是
.12
解決方法_例:cast(0.123333
as
dec(4,2))注:4表示要截取的位數(shù)
2表示保留小數(shù)的位數(shù)
有多種解決辦法。
一、使用“||”連接。二、使用CONCAT()函數(shù)連接。
在使用這個(gè)函數(shù)時(shí),當(dāng)拼接的值不是字符串時(shí),oracle會(huì)自動(dòng)轉(zhuǎn)換成字符串。需要注意的時(shí),此函數(shù)里面只支持兩個(gè)參數(shù),不支持超過兩個(gè)的參數(shù),否則會(huì)報(bào):參數(shù)個(gè)數(shù)無效。當(dāng)需要多個(gè)參數(shù)進(jìn)行拼接時(shí),可以使用多個(gè)concat()函數(shù)進(jìn)行嵌套。
注意:mysql中不能使用||來連接字符串,只能用concat來連接。
將int類型轉(zhuǎn)換string類型方法如下:
select CAST(A.xxx AS CHAR) as xxx,A.zzz ?from A wher A.yyy = '123' ;
Oracle的三大類型轉(zhuǎn)換:
1、使用to_char(日期,‘格“常量”式')函數(shù)將日期轉(zhuǎn)成字符串:
例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(數(shù)值,格式)函數(shù)將數(shù)值轉(zhuǎn)成字符串。
例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('字符串','格式')函數(shù),將字符串轉(zhuǎn)成date類型:
例:chax 1980年12月17日入職的員工
select * from emp
where hiredate=todate('1980年12月17日','yyyy"年"mm"月"dd"日"');
4、使用to_number('字符串')函數(shù)將字符串轉(zhuǎn)成數(shù)字。
擴(kuò)展資料
Oracle函數(shù)的工作方式有兩種:
1、根據(jù)舊的對(duì)象創(chuàng)建新的對(duì)象——他們對(duì)原來的信息進(jìn)行修改,如改變字母的大小寫。
2、告訴用戶有關(guān)的信息,如一個(gè)單詞或句子中有幾個(gè)字符。
Oracle中主要有兩種字符串類型:CHAR和VARCHAR2,他們以字母,標(biāo)點(diǎn),數(shù)字和空格的混合形式存在。
CHAR串始終為定長(zhǎng)的,如果設(shè)置的值長(zhǎng)度小于CHAR列的串值,會(huì)自動(dòng)填充空格。在比較CHAR串時(shí),會(huì)為雙方都補(bǔ)滿空格后再進(jìn)行比較。
VARCHAR2數(shù)據(jù)類型為邊長(zhǎng)的串(VARCHAR與VARCHAR2為同義詞)。
Oracle支持的數(shù)據(jù)類型可以分為三個(gè)基本種類:字符數(shù)據(jù)類型、數(shù)字?jǐn)?shù)據(jù)類型以及表示其它數(shù)據(jù)的數(shù)據(jù)類型。其中字符型與數(shù)值型的轉(zhuǎn)換如下:
SQL select dump(nchar_col, 16) from test_nchar;
DUMP(NCHAR_COL,16)
--------------------------------------------------------------
Typ=96 Len=20: 0,6e,0,63,0,68,0,61,0,72,5b,9a,95,7f,0,20,0,20,0,20
SQL select dump(nvarchar_col, 16) from test_nchar;
DUMP(NVARCHAR_COL,16)
--------------------------------------------------------------
Typ=1 Len=20: 0,6e,0,76,0,61,0,72,0,63,0,68,0,61,0,72,53,d8,95,7f