小编Jam*_*her的帖子

Oracle Date数据类型,通过SQL转换为'YYYY-MM-DD HH24:MI:SS TMZ'

我有一个应用程序通过以下方式上传到Oracle Data数据类型列:

TO_TIMESTAMP_TZ('2012-10-09 1:10:21 CST','YYYY-MM-DD HH24:MI:SS TZR')
Run Code Online (Sandbox Code Playgroud)

我现在需要从此数据列中提取以下格式和时区:'YYYY-MM-DD HH24:MI:SS CDT'

注意:日期是在CST上传的,但需要在CDT中返回.

我有谷歌,但只发现以下数据类型:

SELECT dateColumn From dateTable;
09-NOV-12

SELECT TO_CHAR(dateColumn,'YYYY-MM-DD HH24:MI:SS') From dateTable;
2012-10-09 1:10:21
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下内容:

TO_TIMESTAMP_TZ(dateColumn,'YYYY-MM-DD HH24:MI:SS CDT')
data format not recognized

TO_TIMESTAMP_TZ(CRTE_DT,'YYYY-MM-DD HH24:MI:SS TZH:TZM')
09-NOV-12 1:10:21 AM +01:00
don't understand why this does not come back as YYYY-MM-DD?
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

sql oracle select date

10
推荐指数
1
解决办法
25万
查看次数

从CLOB(包含XML)中提取特定值,同时为表的每一行创建一个分隔字符串.某些行上的CLOB值可能为null

一些上下文:数据库是Oracle.我试图在表的每一行创建一个分隔的字符串.分隔字符串的某些值必须来自CLOB(包含XML).某些行上的CLOB可能为null,这就是问题所在.

例如,我有一个表:'Item',其中包含以下行:'Item_ID','Item_CD','Item_TXT'(CLOB).该表有两行.一行在'Item_TXT'中存储以下XML,另一行'Item_TXT'为空.

<OuterTag>      
    <InnerTag>test</InnerTag>   
</OuterTag>     
Run Code Online (Sandbox Code Playgroud)

我创建了以下SQL来返回分隔字符串的前3个元素:

SELECT 'Item%#'|| Item_ID ||'%#'|| Item_STAT_CD 
FROM Item; 
Run Code Online (Sandbox Code Playgroud)

这成功地运作:

项%#12345%#A

项%#123456%#A

然后我尝试添加第4个元素(来自CLOB的值).

SELECT 'Item%#'|| Item_ID ||'%#'|| Item_STAT_CD
EXTRACT(XMLTYPE(Item_TXT), '//OuterTag/InnerTag/text()').getStringVal()
FROM Item; 
Run Code Online (Sandbox Code Playgroud)

这失败并出现以下错误:

ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.XMLTYPE", line 272
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)

我已将此问题缩小到有时Item_TXT为null且XMLTYPE()无法处理此问题.为证明这一点,我运行了以下内容:

SELECT 'Item%#'|| Item_ID ||'%#'|| Item_STAT_CD
EXTRACT(XMLTYPE(Item_TXT), '//OuterTag/InnerTag/text()').getStringVal()
FROM Item
WHERE Item_TXT IS NOT NULL; 
Run Code Online (Sandbox Code Playgroud)

这成功地运作:

项%#12345%#A#%测试

是否有任何方法可以处理整个表,如果可用则从clob中提取值,否则将null/nothing添加到分隔的字符串中?

xml sql oracle clob xmltype

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

oracle ×2

sql ×2

clob ×1

date ×1

select ×1

xml ×1

xmltype ×1