2012年8月11日 星期六

informix sql new line 換行

在SQL SERVER SQL 中換行為
SELECT '1' + char(13)+char(10) + '2'
結果為
1
2

在INFORMIX SQL中換行則需先執行換行設定後
 EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('t');
再進行換行
select '1' ||'
'||'2'  from empty ;

以上只在當次session中生效.否則就要在$ONCONFIG 中將ALLOW_NEWLINE設定為1

參考來源 http://www.iiug.org/forums/classics/index.cgi/read/4100

後記:

後來建了一個function,在里頭進行折行效果,結果一直無法建立, 出現以下錯誤
 -282 Found a quote for which there is no matching quote

查看informix online help說明,
 Quotes on different lines:

啊明明就有啟用參數啊! WHY WHY WHY?

測了半天,原來要在create function前先啟用 IFX_ALLOW_NEWLINE, 如下

EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('t');
create function fn_bevtest
(i_col1 integer) RETURNING varchar(255);

define v_name varchar(255);
EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('t');
select '1'||'
'||'2' into v_name from empty;

return v_name;
end function;
 


沒有留言:

張貼留言

IIS 網站無法下載中文檔名檔案因為取消高位元字元

 網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。 但英數字檔案名稱則可下載。 因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。 27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元 這項原則設定決定查詢...