oracle儲存過程轉換型別問題

2023-01-10 20:45:37 字數 3787 閱讀 3559

1樓:匿名使用者

你的to_date(''||2010-12-30||'' ,'yyyy-mm-dd'),函式寫錯了, 因為減號的優先順序比||高,''||2010-12-30||''得到的是一個4位數, 寫成下面這樣就行了

to_date('2010-12-1' ,'yyyy-mm-dd'), 還有這樣寫雖然oracle寫可以, 年月最好寫的規範一點,寫成to_date('2010-12-01' ,'yyyy-mm-dd')

2樓:

where to_char(e.eattime,'yyyymmdd') between to_char('2010-12-1' ,'yyyymmdd')

and to_char('2010-12-30' ,'yyyymmdd');

直接轉換成字元進行比較就行的。

你這個地方主要是錯在''||2010-12-30||'' || 這個不需要

3樓:匿名使用者

update kdcc30data..t_khjl_fpb setshyg=:p_gybh,

shrq =: to_char(sysdate,'yyyymmdd'),

shsj =: to_char(sysdate, 'hh:mm:ss'),

shbz =:shbz,

shzt =:shzt

where instr(','|| to_char(lsh) || ',',','|| lshs || ',') > 0

試試看吧,沒有環境不能試

4樓:匿名使用者

去掉連結符

一個動態儲存過程資料型別轉換的問題

oracle 儲存過程將 時間型別轉換成number 10

5樓:匿名使用者

number的話,後邊有時候帶小數點的,你要怎麼轉換啊?

還有,你那個get_codeid()是你自定義的一個函式吧?

你看看這個函式裡邊是怎麼寫的

6樓:匿名使用者

在oracle中直接select to_number(to_char(sysdate,'yyyy')) from dual;其中sysdate替換你要轉換的日期。

7樓:匿名使用者

convert(in,month('2010-11-12'))

希望能夠幫助到你,謝謝。

8樓:匿名使用者

to_number(to_char(sysdate,'yyyy'))

9樓:

一個函式就可以了

convert(int,left('2010-11-12',4))

oracle 儲存過程字串轉化為date

10樓:匿名使用者

可以使用to_date方法將字串轉換為date型別:

示例:sql> select to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:

ss'),'yyyy-mm-dd hh24:mi:ss') into ftime from dual;

執行結果:2015-11-06 22:20:27。

備註:儲存過程中的用法也是這樣的,沒有任何區別。

select to_date(to_char(sysdate-1,'yyyy-mm-dd')||' 23:59:59','yyyy-mm-dd hh24:

mi:ss') into end_time from dual;

11樓:匿名使用者

select to_date(to_char(firsttiem,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:

mi:ss') into ftime from dual;

如果 firsttiem是varchar2型別的話。

12樓:匿名使用者

firsttiem是不是拼措了?firsttime吧

13樓:匿名使用者

看著沒有問題,你把mm改成小寫,再查查你的變數值。

14樓:我又強力了

firsttiem 是什麼型別

15樓:射手幽靈伊

ycdata float; // 在此處定義了一個數字型別begin

ycdata := 'select h0 into ycdata from ycdata201308 where bujianleixingid = 19 and bujianid = 172024 and bujiancanshuid = 4'; // 但是此處給這個變數的值是字串,這個不行

open result for ycdata;

16樓:永遠左手

返回成 number 不行嗎?float在oracle比較不合適

求oracle高手,儲存過程中取遊標值時,出現資料型別不一致問題,急急

17樓:匿名使用者

個人覺得

自定義型別就不能這麼用吧,你說,下面的sql能對嗎?

select sum(tt) item1,sum(bb) item2 into emp

from (select 1 tt,2 bb from dual) table1;

2.      你的 end loop 呢?

18樓:匿名使用者

你表裡資料是number 儲存過程裡邊用的是varchar 統一一下資料的型別

儲存過程 string 型別 怎麼轉換成 int 20

19樓:昂鳩

在c#裡?

string str="12345";

int number = int.parse(str);

20樓:匿名使用者

to_number(變數)

21樓:匿名使用者

declare @strtt nvarchar(9)declare @result int

set @strtt='36594'

set @result=convert(int,@strtt)+1print @result

22樓:

是在資料庫裡面還是在c#裡面

oracle儲存過程,引數個數或型別錯誤

23樓:匿名使用者

第三行去掉default『n』試試看

你這個儲存過程我怎麼看不懂啊,開啟了遊標但是沒結束遊標就end了,不報錯就奇怪了,這裡這篇博文是專門講oracle procedure的,你認真學習吧

24樓:匿名使用者

你是通過什麼方式呼叫的呢

第一個引數是 輸出引數 是個遊標

第二個引數是 輸入引數 是個字串

第三個引數是 輸入引數 是個字串

你呼叫的時候 是不是 多或者少設定了一個引數 或者 引數的型別搞錯了檢查下吧

還有 根據我的習慣 輸出引數 也就是 out型別的引數 一般要放在最後面(只是習慣問題)

oracle怎麼寫儲存過程,oracle 儲存過程,寫一個簡單的Oracle儲存過程

給你示例你參考下 建立儲存過程 create or replace procedure p name 儲存過程名字 i var in int,輸入引數1 o var out varchar2 輸出引數1 is v str varchar2 200 定義儲存過程內部的區域性變數 begin 下面是儲存...

oracle建立儲存過程有小紅叉儲存過程新手請

說一下你的問題 在儲存過程中,一個select語句中,查詢的欄位必須要放到變數中也就是select 欄位1 into 變數1 from 表名 where 條件 這樣才不會報錯 而你這個,沒什麼實際的意義 你要是非想讓它不紅叉,可以這樣 create or replace procedure p tf...

oracle儲存過程as和is區別

第一個問題 is和as是可以互用的,用哪個都沒關係的第二個問題 在外專面 第三個問題 過程屬中沒有declare關鍵字,declare用在語句塊中 第四個問題 估計你看到的是做遊標定義的東東,抑或者直接就一句sql。沒區別,我更喜歡用as,因為用鍵盤比較方便 oracle儲存過程中is和as的區別?...