我正在使用Oracle SQL,并且有一个带有属性POST(VARCHAR2(10 BYTE))的表。 我得到的数据将采用123.34格式,并且我需要一个VARCHAR2(123)和一个NUMBER(0.34)来将其存储在另一个表中。 我试图在select语句中考虑一种实现此目的的方法,但无法弄清楚。

#1楼 票数:0 已采纳

您能确定该值始终为NUMBER吗? 如果是这样,则只需使用TO_NUMBER()

WITH t1 AS (
    SELECT '123.34' AS post FROM dual
)
SELECT post_num, TRUNC(post_num), post_num - TRUNC(post_num) FROM (
    SELECT TO_NUMBER(post) AS post_num FROM t1
);

如果不确定它始终是NUMBER ,则可以使用“安全”的方式将字符转换为值,例如,使用REGEXP_SUBSTR()

TO_NUMBER(REGEXP_SUBSTR(post, '^\d*(\.\d+)?'))

#2楼 票数:0

选择'123.45'num,substr('123.45',1,instr('123.45','。')-1)整数,substr('123.45',instr('123.45','。')+ 1)从双

输出:NUM WHOLENUM DECIMALPART 123.45 123 45

  ask by user2217874 translate from so

未解决问题?本站智能推荐:

1回复

使用ROW_NUMBER()进行Oracle字符串聚合

我目前正在将ROW_NUMBER()与Order by子句配合使用,以生成用于过滤目的的序列号(seq_num)。 如果我希望有一个预定义的CARMODEL列表在seq_num方面具有更高的优先级,那可能吗? 我应该如何实现? 例如: 我将需要CAR1和CAR2始终位于seq_nu
1回复

Oracle-发生异常时将SQL作为字符串获取

我正在尝试从数据库调用返回SQL查询,当查询无法执行并且返回游标具有失败状态时。 此查询字符串将用于记录目的。 一种方法是将包含SQL查询的变量保存为字符串,然后使用异常处理程序将每个查询包装在PL / SQL块中,如果出现异常,则将具有失败状态的查询字符串返回给UI组件。 有一个更好
2回复

SQL如何将小数转换为字符串

在SELECT语句中,我想将值转换为字符串,即。 SELECT TO_STRING(value)。 如何在Oracle SQL中执行此操作?
2回复

尽管to_number函数中的格式字符串错误,但oracle不会给出错误?

在oracle sql中, TO_NUMBER('1,000.98', '9,999.99')答案为1000.98 。 //第1行 TO_NUMBER('1,000.98', '9999.99')也给出答案为1000.98 。 // 2号线 尽管格式字符串与给定字符串不匹配,为什
1回复

在Oracle中获取子字符串

我有一个字符串 - V_TAG_B = utm_source=google_search&utm_medium=cpc&utm_term={Keyword}&utm_campaign=home-|-SBI-|-search 我需要将这个字符串分成 4 个小部分作为 - 我需要
3回复

需要在Oracle中进行SQL查询以从逗号分隔的字符串中获取姓氏

有什么方法可以在 Oracle SQL 中实现上述目标
2回复

Oracle/SQL-从字符串中选择缺少的值

因此,我一直在搜索,但是找不到任何地方需要的帮助。 我有此查询来搜索特定值列表中缺少的内容,但是除了要找出是否确实存在某些缺失之外,我还需要知道WHICH值是否缺失: 因此,如果列表包含;13;15; 我需要知道缺失的值是19。 提前致谢! RMGz
1回复

忽略子字符串SQL/Oracle中的空格

我正在尝试对一列的最后3位数字进行子串化。 问题是,其中一些结尾处有一个随机空间,然后该空间仅从列中返回3个所需值中的2个。 现在我有: 我怎样才能让我的声明最后忽略空格? 谢谢!