精华内容
下载资源
问答
  • 本文主要向大家介绍了Oracle数据库之oracle的TO_NUMBER函数,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。TO_NUMBER(x[,format],[nls_language])convertsxtoaNUMBER....

    本文主要向大家介绍了Oracle数据库之oracle的TO_NUMBER函数,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

    TO_NUMBER(x [, format], [ nls_language ]) converts x to a NUMBER.

    x is the string that will be converted to a number.  x是将要被转换成number的字符串。

    format, optional, is the format that will be used to convert x to a number.  format,可选项,是用来将x转换成number的格式。

    nls_language, optional, is the nls language used to convert x to a number.   nls_language,可选项,是nls语言,用来将x转换成number。

    Number Format Elements:

    ElementExampleDescription

    , .

    1,234.56

    Commas and decimal points  逗号和小数点

    $

    $123.45

    Leading dollar sign. 前置$符号

    0

    0012.34

    Leading or trailing 0. 前置或后置0

    9

    123

    Any digit. 任意数字

    B

    B123

    Leading blank for integers. integer类型前置空白符

    C

    C123

    The ISO currency symbol defined in the NLS_ISO_CURRENCY parameter.定义在NLS_ISO_CURRENCY参数中的国际标准货币符号

    D

    123D99

    The current decimal character defined in the NLS_NUMERIC_CHARACTERS parameter. The default value is a period.

    EEEE

    1.2EEE

    Returns a value in scientific notation.用科学计数法表示返回值

    G

    9G123

    Returns the group separator (e.g., a comma).

    L

    L123

    Returns the local currency symbol.

    MI

    123MI

    negative value with trailing minus sign; returns positive value with a trailing blank.

    PR

    123PR

    The negative values in angle brackets.

    RN

    I

    values in Roman numerals, uppercase.

    rn

    i

    values in Roman numerals, lowercase.

    S (prefix)

    S1234

    negative values with a leading minus sign, positive values with a leading positive sign.

    S (suffix)

    1234S

    negative values with a trailing minus sign, positive values with a trailing positive sign.

    TM

    TM

    The text minimum number format model returns the smallest number of characters possible.

    U

    U123

    the Euro currency symbol or the NLS_DUAL_CURRENCY parameter.

    V

    123V99

    a value multiplied by 10n, where n is the number of 9s after the V.

    X

    XXXX

    the hexadecimal value.十六进制值

    SQL> select to_number(‘123.45‘) from dual;

    TO_NUMBER(‘123.45‘)

    -------------------

    123.45

    SQL> select to_number(‘123.45‘, ‘9999.99‘) from dual;

    TO_NUMBER(‘123.45‘,‘9999.99‘)

    -----------------------------

    123.45

    SQL> select to_number(‘12‘, ‘99‘) from dual;

    TO_NUMBER(‘12‘,‘99‘)

    --------------------

    12

    SELECT TO_NUMBER(‘$12,123.23‘,‘$999,999.99‘) FROM DUAL;

    SQL>

    SQL>

    SQL>

    SQL>

    Do calculation after the conversion

    SQL> select to_number(‘123.45‘) + 2 from dual;

    TO_NUMBER(‘123.45‘)+2

    ---------------------

    125.45

    SQL> SELECT TO_NUMBER(‘-$12,345.67‘, ‘$99,999.99‘) FROM dual;

    TO_NUMBER(‘-$12,345.67‘,‘$99,999.99‘)

    -------------------------------------

    -12345.67

    SQL>

    本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

    展开全文
  • to_number()函数是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式。1、to_number()函数可以将char或varchar2类型的string转换为一个number类型的数值;2、需要注意的是...

    to_number()函数是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式。

    1、to_number()函数可以将char或varchar2类型的string转换为一个number类型的数值;

    2、需要注意的是,被转换的字符串必须符合数值类型格式,如果被转换的字符串不符合数值型格式,Oracle将抛出错误提示;

    3、to_number和to_char恰好是两个相反的函数;

    eg:

    (1)to_number(varchar2 or char,'格式')

    select to_number('') from dual;

    select to_number('') from dual;

    (2)如果数字在格式范围内的话,就是正确的,否则就是错误的;如:

    select to_number('$12345.678', '$999999.99') from dual;

    select to_number('$12345.678', '$999999.999') from dual;

    (3)可以用来实现进制转换;16进制转换为10进制:

    select to_number('19f','xxx') from dual;

    select to_number('f','xx') from dual;

    [转载]Oracle中TO_NUMBER()函数的用法

    1 用法简介TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反. To_number函数的格式如下: To_nu ...

    Oracle 中 CONTAINS 函数的用法

    Oracle 中 CONTAINS 函数的用法 1. 查询住址在北京的学生 SELECT student_id,student_name FROM students WHERE CONTAINS( a ...

    oracle 中 to_date 函数的用法

    常犯错的使用方法. to_date('2019-08-12 22:05:','yyyy-MM-dd HH24:mm:ss') Oracle中会引起错误:"ORA 01810 格式代码出现两次 ...

    【Oracle】Oracle中dump函数的用法

    一.函数标准格式: DUMP(expr[,return_fmt[,start_position][,length]]) 基本参数时4个,最少可以填的参数是0个.当完全没有参数时,直接返回null.另外 ...

    oracle中INSTR函数的用法

    今天有个同学问我这个INSTR函数,我也不太清楚就上网查了查做一个小小的记录吧 INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2  ...

    oracle中add_months函数的用法

    如果需要取上一个月的数据,并且每天都要进行此操作,每次都需要改时间,的确非常的麻烦,所以想到了oracle add_months函数这个函数 oracle add_months函数: oracle a ...

    oracle中substr函数的用法

    1.substr(string string, int a, int b) 参数1:string 要处理的字符串 参数2:a 截取字符串的开始位置(起始位置是0) 参数3:b 截取的字符串的长度(而不 ...

    Oracle中add_months()函数的用法

    查询当前时间1个月以前的时间: select add_months(sysdate,-1) from dual; 查询当前时间1个月以后的时间: select add_months(sysdate,1 ...

    Oracle 中 decode 函数用法

    Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...

    随机推荐

    《企业应用架构模式》(POEAA)读书笔记

    展开全文
  • oracle --> mysqlto_char(sysdate,'yyyy-mm-dd')-->date_format(sysdate(),'%Y-%m-%d');to_date(sysdate,'yyyy-mm-dd')-->STR_TO_DATE(sysdate(),'%Y-%m-%...1.oracle(1)使用TO_CHAR函数处理数字TO_CHAR(nu...

    oracle --> mysql

    to_char(sysdate,'yyyy-mm-dd')-->date_format(sysdate(),'%Y-%m-%d');

    to_date(sysdate,'yyyy-mm-dd')-->STR_TO_DATE(sysdate(),'%Y-%m-%d');

    1.oracle

    (1)使用TO_CHAR函数处理数字

    TO_CHAR(number, '格式')

    TO_CHAR(salary,’$99,999.99’);

    (2)使用TO_CHAR函数处理日期

    TO_CHAR(date,’格式’);

    to_char(sysdate,'q') 季

    to_char(sysdate,'yyyy')年

    to_char(sysdate,'mm')月

    to_char(sysdate,'dd')日

    to_char(sysdate,'d')星期中的第几天

    to_char(sysdate,'DAY')星期几

    to_char(sysdate,'ddd')一年中的第几天

    (3)TO_NUMBER

    使用TO_NUMBER函数将字符转换为数字

    TO_NUMBER(char[, '格式'])

    (4) TO_DATE

    使用TO_DATE函数将字符转换为日期

    TO_DATE(char[, '格式'])

    2.SQL

    1)类型转换:Cast()类型转换,例:Cast(@startdate as datetime),Cast(name as nvarchar)

    2)日期截取:Datepart()返回代表指定日期的指定日期部分的整数,例:

    Datepart(Dd,@startdate)--取日,

    Datepart(Month,@startdate)--取月,

    Datepart(Yy,@startdate)--取年

    3)日期操作:Dateadd()在向一个日期加上一个段时间的基础上,返回新的datetime类型。例:加2天 Dateadd(day,2,'2009-6-1')返回:2009-6-3 00:00:00.000

    3.mysql

    日期格式转换:date_format(date,format), time_format(time,format)

    1)使用DATE_FORMAT(数据库字段,'%Y%m%d')将时间类型字段格式为"yyyy-mm-dd"字符串格式

    2)str_to_date(数据库字段,'%m.%d.%Y')将字符串类型字段格式为"yyyy-mm-dd"时间格式

    3)mysql> select date_format('2008-08-08 22:23:00', '%W %M %Y');

    +------------------------------------------------+

    | date_format('2008-08-08 22:23:00', '%W %M %Y') |

    +------------------------------------------------+

    | Friday August 2008 |

    +------------------------------------------------+

    mysql> select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s');

    +----------------------------------------------------+

    | date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') |

    +----------------------------------------------------+

    | 20080808222301 |

    +----------------------------------------------------+

    mysql> select time_format('22:23:01', '%H.%i.%s');

    +-------------------------------------+

    | time_format('22:23:01', '%H.%i.%s') |

    +-------------------------------------+

    | 22.23.01 |

    +-------------------------------------+

    MySQL 日期、时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式。它是 str_to_date(str,format) 函数的 一个逆转换。

    4.to_number比较

    TO_NUMBER用cast就可,但要填适当的类型,示例:

    select cast(11 as unsigned int) /*整型*/

    select cast(11 as decimal(10,2)) /*浮点型*/

    展开全文
  • 1 用法简介TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。To_number函数的格式如下:To_number(varchar2 or char,’format model’)1To_...

    1 用法简介

    TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。

    To_number函数的格式如下:

    To_number(varchar2 or char,’format model’)

    1

    To_number函数中也有很多预定义的固定格式:

    格式值 含义

    9 代表一个数字

    0 强迫0显示

    $ 显示美元符号

    L 强制显示一个当地的货币符号

    . 显示一个小数点

    , 显示一个千位分隔符号

    2 一些例子

    SQL> select to_number(’RMB234234.4350′,’L999999.0000′) from dual;

    TO_NUMBER(’RMB234234.4350′,’L999999.0000′)

    ——————————————

    234234.435

    1

    2

    3

    4

    SQL> select to_number(’$123,233,455,623.3400′,’$999,999,999,999.0000′) from dual;

    TO_NUMBER(’$123,233,455,623.3400′,’$999,999,999,999.0000′)

    ———————————————————-

    1.2323E+11

    1

    2

    3

    4

    3 用法陷阱

    有的时候你会发现,使用了TO_NUMBER()函数并且语法正确,但是Oracle却报“invalid number”的错误,而你在一遍又一遍认认真真检查并确定语句无误之后大呼惊奇,以为TO_NUMBER()函数还有什么可能不知道的用法。其实这很可能是你所查询的数据出现了问题,而非SQL。使用TO_NUMBER()函数的时候,一定要确保所转换字段是可转换为数字的,比如字符串“20151008”是可以转换为数字20151008的,但是字符串“2015-10-08”不可以。如果你的字段中包含了字符串“2015-10-08”,而你还直接使用了TO_NUMBER()函数进行操作的话就会报“invalid number”的错。

    4 逃出陷阱

    如何逃出陷阱呢?

    1 前端校验

    尽量在用户输入的时候进行必要的校验,确保输入的数值就是我们需要的格式。

    2 后台校验

    在后台代码中进行必要的检查,筛选到错误的值并且传给前台合理的提示。

    3 SQL校验

    一旦你的数值进了数据库,问题就变得复杂了。还有一种情况是,数据是历史的,我们不能修改它,但是还要进行必要的查询。这时候就需要在SQL层面做点什么了。假设需要使用TO_NUMBER()函数的字段是varchar2类型的名为“status”。比如,如果非法数据都是比较长的,你可以在SQL中加上长度的校验,即多加一个where条件:

    LENGTH(status) <= 10

    1

    或者,也可以将非法字符替换掉,,同样是在where中多加一个条件:

    TO_NUMBER(REGEXP_REPLACE(status,'[^0-9]','')) > 30

    1

    实例中REGEXP_REPLACE()将“status”字段中所有非数字的字符替换为空字符,然后再用TO_NUMBER()进行比较就可以啦!

    ---------------------

    作者:我是干勾鱼

    来源:CSDN

    原文:https://blog.csdn.net/dongdong9223/article/details/48972815

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • orcale中的to_number方法使用

    千次阅读 2021-01-20 01:08:53
    TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。To_number函数的格式如下:To_number(varchar2 or char,'format model')To_number函数中也有...
  • 【svn】SSL error&colon; A TLS warning alert has been received的解决方法第一次用svn(>_access数据库连接问题使用Visual Studio连接access数据库(数据库后缀.accdb)时连接不上(access数据库提示未在本地...
  • oracle、sqlserver、mysql常用函数对比[to_char、to_numberto_date]oracle --> mysqlto_char(sysdate,'yyyy-mm-dd')-->date_format(sysdate(),'%Y...
  • TO_CHAR 是把日期或数字转换为字符串TO_DATE 是把字符串转换为数据库中得日期类型转换函数TO_NUMBER 将字符转化为数字 TO_CHAR使用TO_CHAR函数处理数字TO_CHAR(number, '格式')TO_CHAR(salary,’$99,999.99’);...
  • 1、Converts a string to the NUMBER data type(将字符串转换为数字数据类型)TO_NUMBER([, , ]) RETURN NUMBERselectto_number('00001228')fromdual;to_number('00001228')1228selecttrunc(to_number('123.123'),2)....
  • Number函数怎么使用

    2021-05-03 02:12:06
    JavaScript中的Number...我们先来看一下Number函数的基本语法Number(query javascript variable)参数:number函数是要转换的用户输入的javascript变量。number函数将任何类型的javascript变量转换为数字类型。numbe...
  • to_number函数也是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式。这里简单介绍了to_number的用法并给出了详细的例子。前面我们在介绍oracle的类型转换函数时介绍到了...
  • 这个函数用来将DATE或NUMBER数据类型转换成可显示的字符串,格式是to_char(number_type, format_mask)。格式'999.99',9表示对应的某一个指定位数的值,如果是值是0则忽略不显示,如果指定位数没有值,则以空...
  • Oracle中to_number()函数的学习Oracle中to_number()函数的学习1、Converts a string to the NUMBER data type(将字符串转换为数字数据类型)TO_NUMBER([, , ]) RETURN NUMBERselect to_number('00001228') from dual;...
  • long_to_bytes(n, blocksize=0) 正整数转化为byte类型字符串 Convert a positive integer to a byte string using big endian encoding. If :data:`blocksize` is absent or zero, the byte string will be ...
  • is_number(oracle函数判断字段是否合法数字): ...num_ := to_number(str_); RETURN 1; EXCEPTION WHEN OTHERS THEN RETURN 0; END is_number; 2.函数说明 函数名称:is_number 参数:传入一个字符串 返回值说明:1-合法
  • mysql中自定义函数to_char()如何写

    千次阅读 2021-01-18 19:34:51
    日期 使用 DATE_FORMAT... 所有的其他字符不做解释被复制到结果中 数字, Mysql 好像有个 FORMAT 函数 FORMAT(X,D) 将number X设置为格式 '#,###,###.##', 以四舍五入的方式保留到小数点后D位, 而返回结果为一个字符串。
  • 正宗的ClickHouse开窗函数来袭 在今年2月6号线上举行的 ClickHouse China Spring Meetup 中,朵夫为我们带来了 ClickHouse Features 2021 的分享,其中有非常多强大的新特性,幻灯片的下载地址如下: ...
  • Oracle to_date()函数使用

    千次阅读 2021-05-02 10:27:42
    Oracle to_date()函数用于日期转换,下面就为您详细介绍Oracle to_date()函数的用法,希望可以让您对Oracle to_date()函数有更深的认识。Oracle to_date()函数 与24小时制表示法及mm分钟的显示:一、在使用Oracle to...
  • Oracle 关于number类型转换to_char类型 存在的问题select to_char(0.1) nums from dual;观察发现如果小数的整数位是0, 转换字符串之后没有了前面的0,如果需要前面的0,则需要一定的规则进行格式化,示例如下select...
  • (1)用作日期转换:to_char(date,'格式');select to_date('2005-01-01 ','yyyy-MM-dd') from dual;select to_char(sysdate,'yyyy-MM-dd HH24...(2)处理数字:to_char(number,'格式');select to_char(88877) from dual...
  • 本篇文章主要给大家介绍php number_format用法,希望对需要的朋友有所帮助!number_format()函数是PHP中的一个内置...语法:string number_format ( $number, $decimals, $decimalpoint, $sep )参数:该函数接受上...
  • 在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的,...解决办法是写一个转换函数:create or replace function num_to_date(in_number NUMBER) ret...
  • 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) as nowTime from dual; //日期转化为字符串 select to_char(sysdate,‘yyyy’) as nowYear from dual; //获取时间的...
  • Oracle 常用函数介绍

    2021-05-05 08:17:48
    Oracle常用函数介绍,包括日期函数、类型转换函数常用日期函数1.add_months()函数可以得到指定日期之前或之后n个月的日期date_value:=add_months(date_value,number_of_months)SQL> select sysdate now,add_...
  • 该内容来源官网:其用法很简单scn_to_timestamp(number),其中number指的是系统当前生产的SCN文档中NOTE部分提到一个内容值得注意:The association between an SCN and a timestamp when the SCN is generated is ...
  • oracle常用cast、to_char及asciistr等转换函数函数大全发布日期:2015-11-05 14:09来源:标签:数据库oracle教程oracle函数oracle转换函数本章我们主要学习oracle数据库实际应用中常用转换函数有哪些?下面我们就做...
  • 自打我用to_char来转换数字就发现了这个问题,即转换结果字符串最前面多了一个空格。我一直用trim再处理一下,没有关注过原因。今天上网查了一下,看到了一个说法及解决方案。Oracle to_char():数字转字符串,结果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 533,329
精华内容 213,331
关键字:

number函数to