精华内容
下载资源
问答
  • 注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略,fmt表示格式...数值函数(Number Functions) 数值函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点,诸如:COS, COS

      注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略,fmt表示格式。 

      单值函数在查询中返回单个值,可被应用到select,where子句,start with以及connect by 子句和having子句。 
    (一).数值型函数(Number Functions) 
        数值型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点,诸如:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点。 

    1、MOD(n1,n2) 返回n1除n2的余数,如果n2=0则返回n1的值。 
        例如:SELECT MOD(24,5) FROM DUAL; 

    2、ROUND(n1[,n2]) 返回四舍五入小数点右边n2位后n1的值,n2缺省值为0,如果n2为负数就舍入到小数点左边相应的位上(虽然oracle documents上提到n2的值必须为整数,事实上执行时此处的判断并不严谨,即使n2为非整数,它也会自动将n2取整后做处理,但是我文档中其它提到必须为整的地方需要特别注意,如果不为整执行时会报错的)。 
    例如:SELECT ROUND(23.56),ROUND(23.56,1),ROUND(23.56,-1) FROM DUAL; 

    3、TRUNC(n1[,n2] 返回截尾到n2位小数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上。 
    例如:SELECT TRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1) FROM DUAL;

    (二).字符型函数返回字符值(Character Functions Returning Character Values) 
      该类函数返回与输入类型相同的类型。 
     返回的CHAR类型值长度不超过2000字节; 
     返回的VCHAR2类型值长度不超过4000字节; 
    如果上述应返回的字符长度超出,oracle并不会报错而是直接截断至最大可支持长度返回。 

     返回的CLOB类型值长度不超过4G; 
    对于CLOB类型的函数,如果返回值长度超出,oracle不会返回任何错误而是直接抛出错误。 

    1、LOWER(c) 将指定字符串内字符变为小写,支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB类型 
        例如:SELECT LOWER('WhaT is tHis') FROM DUAL; 

    2、UPPER(c) 将指定字符串内字符变为大写,支持CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB,NCLOB类型 
        例如:SELECT UPPER('WhaT is tHis') FROM DUAL; 

    3、LPAD(c1,n[,c2]) 返回指定长度=n的字符串,需要注意的有几点: 
     如果n<c1.length则从右到左截取指定长度返回; 
     如果n>c1.length and c2 is null,以空格从左向右补充字符长度至n并返回; 
     如果n>c1.length and c2 is not null,以指定字符c2从左向右补充c1长度至n并返回; 
    例如:SELECT LPAD('WhaT is tHis',5),LPAD('WhaT is tHis',25),LPAD('WhaT is tHis',25,'-') FROM DUAL; 
    最后大家再猜一猜,如果n<0,结果会怎么样 

    4、RPAD(c1,n[,c2]) 返回指定长度=n的字符串,基本与上同,不过补充字符是从右向左方向正好与上相反; 
        例如:SELECT RPAD('WhaT is tHis',5),RPAD('WhaT is tHis',25),RPAD('WhaT is tHis',25,'-') FROM DUAL; 

    5、TRIM([[LEADING||TRAILING||BOTH] c2 FROM] c1) 哈哈,被俺无敌的形容方式搞晕头了吧,这个地方还是看图更明了一些。 
    看起来很复杂,理解起来很简单: 
     如果没有指定任何参数则oracle去除c1头尾空格 
    例如:SELECT TRIM(' WhaT is tHis ') FROM DUAL; 
     如果指定了c2参数,则oracle去掉c1头尾c2(这个建议细致测试,有多种不同情形的哟) 
    例如:SELECT TRIM('W' FROM 'WhaT is tHis w W') FROM DUAL; 
     如果指定了leading参数则会去掉c1头部c2 
    例如:SELECT TRIM(leading 'W' FROM 'WhaT is tHis w W') FROM DUAL; 
     如果指定了trailing参数则会去掉c1尾部c2 
    例如:SELECT TRIM(trailing 'W' FROM 'WhaT is tHis w W') FROM DUAL; 
     如果指定了both参数则会去掉c1头尾c2(跟不指定有区别吗?没区别!) 
    例如:SELECT TRIM(both 'W' FROM 'WhaT is tHis w W') FROM DUAL; 

    注意:c2长度=1 

    6、LTRIM(c1[,c2]) 千万表以为与上面那个长的像,功能也与上面的类似,本函数是从字符串c1左侧截取掉与指定字符串c2相同的字符并返回。如果c2为空则默认截取空格。 
    例如:SELECT LTRIM('WWhhhhhaT is tHis w W','Wh') FROM DUAL; 

    7、RTRIM(c1,c2)与上同,不过方向相反 
        例如:SELECT RTRIM('WWhhhhhaT is tHis w W','W w') FROM DUAL; 

    8、REPLACE(c1,c2[,c3]) 将c1字符串中的c2替换为c3,如果c3为空,则从c1中删除所有c2。 
        例如:SELECT REPLACE('WWhhhhhaT is tHis w W','W','-') FROM DUAL; 

    9、SOUNDEX(c) 神奇的函数啊,该函数返回字符串参数的语音表示形式,对于比较一些读音相同,但是拼写不同的单词非常有用。计算语音的算法如下: 
     保留字符串首字母,但删除a、e、h、i、o、w、y。 
     将下表中的数字赋给相对应的字母: 
    1:b、f、p、v 
    2:c、g、k、q、s、x、z 
    3:d、t 
    4:l 
    5:m、n 
    6:R 
     如果字符串中存在拥有相同数字的2个以上(包含2个)的字母在一起(例如b和f),或者只有h或w,则删除其他的,只保留1个; 
     只返回前4个字节,不够用0填充 
    例如:SELECT SOUNDEX('dog'),soundex('boy') FROM DUAL; 

    10、SUBSTR(c1,n1[,n2]) 截取指定长度的字符串。稍不注意就可能充满了陷阱的函数。 
    n1=开始长度; 
    n2=截取的字符串长度,如果为空,默认截取到字符串结尾; 
     如果n1=0 then n1=1 
     如果n1>0,则oracle从左向右确认起始位置截取 
    例如:SELECT SUBSTR('What is this',5,3) FROM DUAL; 
     如果n1<0,则oracle从右向左数确认起始位置 
    例如:SELECT SUBSTR('What is this',-5,3) FROM DUAL; 
     如果n1>c1.length则返回空 
    例如:SELECT SUBSTR('What is this',50,3) FROM DUAL; 
    然后再请你猜猜,如果n2<1,会如何返回值呢 

    11、TRANSLATE(c1,c2,c3) 就功能而言,此函数与replace有些相似。但需要注意的一点是,translate是绝对匹配替换,这点与replace函数具有非常大区别。什么是绝对匹配替换呢?简单的说,是将字符串c1中按一定的格式c2替换为c3。如果文字形容仍然无法理解,我们通过几具实例来说明: 
    例如: 
    SELECT TRANSLATE('What is this','','-') FROM DUAL; 
    SELECT TRANSLATE('What is this','-','') FROM DUAL; 
    结果都是空。来试试这个: 
    SELECT TRANSLATE('What is this',' ',' ') FROM DUAL; 
    再来看这个: 
    SELECT TRANSLATE('What is this','ait','-*') FROM DUAL; 
    是否明白了点呢?Replace函数理解比较简单,它是将字符串中指定字符替换成其它字符,它的字符必须是连续的。而translate中,则是指定字符串c1中出现的c2,将c2中各个字符替换成c3中位置顺序与其相同的c3中的字符。明白了?Replace是替换,而translate则像是过滤

    (三).字符型函数返回数字值(Character Functions Returning Number Values) 
    本类函数支持所有的数据类型 

    1、INSTR(c1,c2[,n1[,n2]]) 返回c2在c1中位置 
     c1:原字符串 
     c2:要寻找的字符串 
     n1:查询起始位置,正值表示从左到右,负值表示从右到左 (大小表示位置,比如3表示左面第3处开始,-3表示右面第3处开始)。黑黑,如果为0的话,则返回的也是0 
     n2:第几个匹配项。大于0 
    例如:SELECT INSTR('abcdefg','e',-3) FROM DUAL; 

    2、LENGTH(c) 返回指定字符串的长度。如果 
    例如:SELECT LENGTH('A123中') FROM DUAL; 
    猜猜SELECT LENGTH('') FROM DUAL;的返回值是什么 

    (四).日期函数(Datetime Functions) 
    本类函数中,除months_between返回数值外,其它都将返回日期。 

    1、ADD_MONTHS() 返回指定日期月份+n之后的值,n可以为任何整数。 
    例如:SELECT ADD_MONTHS(sysdate,12),ADD_MONTHS(sysdate,-12) FROM DUAL; 

    2、CURRENT_DATE 返回当前session所在时区的默认时间 
    例如: 
    SQL> alter session set nls_date_format = 'mm-dd-yyyy' ; 
    SQL> select current_date from dual; 

    3、SYSDATE 功能与上相同,返回当前session所在时区的默认时间。但是需要注意的一点是,如果同时使用sysdate与current_date获得的时间不一定相同,某些情况下current_date会比sysdate快一秒。经过与xyf_tck(兄台的大作ORACLE的工作机制写的很好,深入浅出)的短暂交流,我们认为current_date是将current_timestamp中毫秒四舍五入后的返回,虽然没有找到文档支持,但是想来应该八九不离十。同时,仅是某些情况下会有一秒的误差,一般情况下并不会对你的操作造成影响,所以了解即可。 
    例如:SELECT SYSDATE,CURRENT_DATE FROM DUAL; 

    4、LAST_DAY(d) 返回指定时间所在月的最后一天 
    例如:SELECT last_day(SYSDATE) FROM DUAL; 

    5、NEXT_DAY(d,n) 返回指定日期后第一个n的日期,n为一周中的某一天。但是,需要注意的是n如果为字符的话,它的星期形式需要与当前session默认时区中的星期形式相同。 
    例如:三思用的中文nt,nls_language值为SIMPLIFIED CHINESE 
    SELECT NEXT_DAY(SYSDATE,5) FROM DUAL; 
    SELECT NEXT_DAY(SYSDATE,'星期四') FROM DUAL; 
    两种方式都可以取到正确的返回,但是: 
    SELECT NEXT_DAY(SYSDATE,'Thursday') FROM DUAL; 
    则会执行出错,提供你说周中的日无效,就是这个原因了。 

    6、MONTHS_BETWEEN(d1,d2) 返回d1与d2间的月份差,视d1,d2的值大小,结果可正可负,当然也有可能为0 
    例如: 
    SELECT months_between(SYSDATE, sysdate), 
    months_between(SYSDATE, add_months(sysdate, -1)), 
    months_between(SYSDATE, add_months(sysdate, 1)) 
    FROM DUAL; 

    7、ROUND(d[,fmt]) 前面讲数值型函数的时候介绍过ROUND,此处与上功能基本相似,不过此处操作的是日期。如果不指定fmt参数,则默认返回距离指定日期最近的日期。 
    例如:SELECT ROUND(SYSDATE,'HH24') FROM DUAL; 

    8、TRUNC(d[,fmt]) 与前面介绍的数值型TRUNC原理相同,不过此处也是操作的日期型。 
    例如:SELECT TRUNC(SYSDATE,'HH24') FROM DUAL; 

    (五).转换函数(Conversion Functions) 
    转换函数将指定字符从一种类型转换为另一种,通常这类函数遵循如下惯例:函数名称后面跟着待转换类型以及输出类型。 

    1、TO_CHAR() 本函数又可以分三小类,分别是 
     转换字符->字符TO_CHAR(c):将nchar,nvarchar2,clob,nclob类型转换为char类型; 
    例如:SELECT TO_CHAR('AABBCC') FROM DUAL; 

     转换时间->字符TO_CHAR(d[,fmt]):将指定的时间(data,timestamp,timestamp with time zone)按照指定格式转换为varchar2类型; 
    例如:SELECT TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss') FROM DUAL; 

     转换数值->字符TO_CHAR(n[,fmt]):将指定数值n按照指定格式fmt转换为varchar2类型并返回; 
    例如:SELECT TO_CHAR(-100, 'L99G999D99MI') FROM DUAL; 

    2、TO_DATE(c[,fmt[,nls]]) 将char,nchar,varchar2,nvarchar2转换为日期类型,如果fmt参数不为空,则按照fmt中指定格式进行转换。注意这里的fmt参数。如果ftm为'J'则表示按照公元制(Julian day)转换,c则必须为大于0并小于5373484的正整数。 
    例如: 
    SELECT TO_DATE(2454336, 'J') FROM DUAL; 
    SELECT TO_DATE('2007-8-23 23:25:00', 'yyyy-mm-dd hh24:mi:ss') FROM DUAL; 

    为什么公元制的话,c的值必须不大于5373484呢?因为Oracle的DATE类型的取值范围是公元前4712年1月1日至公元9999年12月31日。看看下面这个语句: 
    SELECT TO_CHAR(TO_DATE('9999-12-31','yyyy-mm-dd'),'j') FROM DUAL; 

    3、TO_NUMBER(c[,fmt[,nls]]) 将char,nchar,varchar2,nvarchar2型字串按照fmt中指定格式转换为数值类型并返回。 
    例如:SELECT TO_NUMBER('-100.00', '9G999D99') FROM DUAL; 

    (六).其它辅助函数(Miscellaneous Single-Row Functions) 

    1、DECODE(exp,s1,r1,s2,r2..s,r[,def]) 可以把它理解成一个增强型的if else,只不过它并不通过多行语句,而是在一个函数内实现if else的功能。 
    exp做为初始参数。s做为对比值,相同则返回r,如果s有多个,则持续遍历所有s,直到某个条件为真为止,否则返回默认值def(如果指定了的话),如果没有默认值,并且前面的对比也都没有为真,则返回空。 
    毫无疑问,decode是个非常重要的函数,在实现行转列等功能时都会用到,需要牢记和熟练使用。 

    例如:select decode('a2','a1','true1','a2','true2','default') from dual; 

    2、GREATEST(n1,n2,...n) 返回序列中的最大值 
    例如:SELECT GREATEST(15,5,75,8) "Greatest" FROM DUAL; 

    3、LEAST(n1,n2....n) 返回序列中的最小值 
    例如:SELECT LEAST(15,5,75,8) LEAST FROM DUAL; 

    4、NULLIF(c1,c2) 
    Nullif也是个很有意思的函数。逻辑等价于:CASE WHEN c1 = c2 THEN NULL ELSE c1 END 
    例如:SELECT NULLIF('a','b'),NULLIF('a','a') FROM DUAL; 

    5、NVL(c1,c2) 逻辑等价于IF c1 is null THEN c2 ELSE c1 END。c1,c2可以是任何类型。如果两者类型不同,则oracle会自动将c2转换为c1的类型。 
    例如:SELECT NVL(null, '12') FROM DUAL; 

    6、NVL2(c1,c2,c3) 大家可能都用到nvl,但你用过nvl2吗?如果c1非空则返回c2,如果c1为空则返回c3 
    例如:select nvl2('a', 'b', 'c') isNull,nvl2(null, 'b', 'c') isNotNull from dual; 

    7、SYS_CONNECT_BY_PATH(col,c) 该函数只能应用于树状查询。返回通过c1连接的从根到节点的路径。该函数必须与connect by 子句共同使用。 
    例如: 
    create table tmp3( 
    rootcol varchar2(10), 
    nodecol varchar2(10) 
    ); 

    insert into tmp3 values ('','a001'); 
    insert into tmp3 values ('','b001'); 
    insert into tmp3 values ('a001','a002'); 
    insert into tmp3 values ('a002','a004'); 
    insert into tmp3 values ('a001','a003'); 
    insert into tmp3 values ('a003','a005'); 
    insert into tmp3 values ('a005','a008'); 
    insert into tmp3 values ('b001','b003'); 
    insert into tmp3 values ('b003','b005'); 

    select lpad(' ', level*10,'=') ||'>'|| sys_connect_by_path(nodecol,'/') 
    from tmp3 
    start with rootcol = 'a001' 
    connect by prior nodecol =rootcol; 

    8、SYS_CONTEXT(c1,c2[,n]) 将指定命名空间c1的指定参数c2的值按照指定长度n截取后返回。
    Oracle9i提供内置了一个命名空间USERENV,描述了当前session的各项信息,其拥有下列参数: 
     CURRENT_SCHEMA:当前模式名; 
     CURRENT_USER:当前用户; 
     IP_ADDRESS:当前客户端IP地址; 
     OS_USER:当前客户端操作系统用户; 
    等等数十项,更详细的参数列还请大家直接参考Oracle Online Documents 

    例如:SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL; 
    注:N表示数字型,C表示字符型,D表示日期型,[]表示内中参数可被忽略,fmt表示格式。 

    单值函数在查询中返回单个值,可被应用到select,where子句,start with以及connect by 子句和having子句。 
    (一).数值型函数(Number Functions) 
    数值型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支持38位小数点,诸如:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支持36位小数点。ACOS, ASIN, ATAN, and ATAN2支持30位小数点。 

    1、ABS(n) 返回数字的绝对值 
    例如:SELECT ABS(-1000000.01) FROM DUAL; 

    2、COS(n) 返回n的余弦值 
    例如:SELECT COS(-2) FROM DUAL; 

    3、ACOS(n) 反余弦函数,n between -1 and 1,返回值between 0 and pi。 
    例如:SELECT ACOS(0.9) FROM DUAL; 

    4、BITAND(n1,n2) 位与运算,这个太有意思了,虽然没想到可能用到哪里,详细说明一下: 
    假设3,9做位与运算,3的二进制形式为:0011,9的二进制形式为:1001,则结果是0001,转换成10进制数为1。 
    例如:SELECT BITAND(3,9) FROM DUAL; 

    5、CEIL(n) 返回大于或等于n的最小的整数值 
    例如:SELECT ceil(18.2) FROM DUAL; 
    考你一下,猜猜ceil(-18.2)的值会是什么呢 

    6、FLOOR(n) 返回小于等于n的最大整数值 
    例如:SELECT FLOOR(2.2) FROM DUAL; 
    再猜猜floor(-2.2)的值会是什么呢 

    7、BIN_TO_NUM(n1,n2,....n) 二进制转向十进制 
    例如:SELECT BIN_TO_NUM(1),BIN_TO_NUM(1,0),BIN_TO_NUM(1,1) FROM DUAL; 

    8、SIN(n) 返回n的正玄值,n为弧度。 
    例如:SELECT SIN(10) FROM DUAL; 

    9、SINH(n) 返回n的双曲正玄值,n为弧度。 
    例如:SELECT SINH(10) FROM DUAL; 

    10、ASIN(n) 反正玄函数,n between -1 and 1,返回值between pi/2 and -pi/2。 
    例如:SELECT ASIN(0.8) FROM DUAL; 

    11、TAN(n) 返回n的正切值,n为弧度 
    例如:SELECT TAN(0.8) FROM DUAL; 

    12、TANH(n) 返回n的双曲正切值,n为弧度 
    例如:SELECT TANH(0.8) FROM DUAL; 

    13、ATAN(n) 反正切函数,n表示弧度,返回值between pi/2 and -pi/2。 
    例如:SELECT ATAN(-444444.9999999) FROM DUAL; 

    14、EXP(n) 返回e的n次幂,e = 2.71828183 ... 
    例如:SELECT EXP(3) FROM DUAL; 

    15、LN(n) 返回n的自然对数,n>0 
    例如:SELECT LN(0.9) FROM DUAL; 

    16、LOG(n1,n2) 返回以n1为底n2的对数,n1 >0 and not 1 ,n2>0 
    例如:SELECT LOG(1.1,2.2) FROM DUAL; 

    17、POWER(n1,n2) 返回n1的n2次方。n1,n2可以为任意数值,不过如果m是负数,则n必须为整数 
    例如:SELECT POWER(2.2,2.2) FROM DUAL; 

    18、SIGN(n) 如果n<0返回-1,如果n>0返回1,如果n=0返回0. 
    例如:SELECT SIGN(14),SIGN(-14),SIGN(0) FROM DUAL; 

    19、SQRT(n) 返回n的平方根,n为弧度。n>=0 
    例如:SELECT SQRT(0.1) FROM DUAL; 

    (二).字符型函数返回字符值(Character Functions Returning Character Values) 
      该类函数返回与输入类型相同的类型。 
     返回的CHAR类型值长度不超过2000字节; 
     返回的VCHAR2类型值长度不超过4000字节; 
    如果上述应返回的字符长度超出,oracle并不会报错而是直接截断至最大可支持长度返回。 

     返回的CLOB类型值长度不超过4G; 
    对于CLOB类型的函数,如果返回值长度超出,oracle不会返回任何错误而是直接抛出错误。 

    1、CHR(N[ USING NCHAR_CS]) 返回指定数值在当前字符集中对应的字符 
    例如:SELECT CHR(95) FROM DUAL; 

    2、CONCAT(c1,c2) 连接字符串,等同于|| 
    例如:SELECT concat('aa','bb') FROM DUAL; 

    3、INITCAP(c) 将字符串中单词的第一个字母转换为大写,其它则转换为小写 
    例如:SELECT INITCAP('whaT is this') FROM DUAL; 

    4、NLS_INITCAP(c) 返回指定字符串,并将字符串中第一个字母变大写,其它字母变小写 
    例如:SELECT NLS_INITCAP('中华miNZHu') FROM DUAL; 
    它还具有一个参数:Nlsparam用来指定排序规则,可以忽略,默认状态该参数为当前session的排序规则。 

    (三).字符型函数返回数字值(Character Functions Returning Number Values) 
    本类函数支持所有的数据类型 
    1、ASCII(c) 与chr函数的用途刚刚相反,本函数返回指定字符在当前字符集下对应的数值。 
    例如:SELECT ASCII('_') FROM DUAL; 

    (四).日期函数(Datetime Functions) 
    本类函数中,除months_between返回数值外,其它都将返回日期。 
    1、CURRENT_TIMESTAMP([n]) 返回当前session所在时区的日期和时间。n表示毫秒级的精度,不大于6 
    例如:SELECT CURRENT_TIMESTAMP(3) FROM DUAL; 

    2、LOCALTIMESTAMP([n]) 与上同,返回当前session所在时区的日期和时间。n表示毫秒级的精度,不大于6 
    例如:SELECT LOCALTIMESTAMP(3) FROM DUAL; 

    3、SYSTIMESTAMP([n]) 与上同,返回当前数据库所在时区的日期和时间,n表示毫秒级的精度,>0 and <6 
    例如:SELECT SYSTIMESTAMP(4) FROM DUAL; 

    4、DBTIMEZONE 返回数据库的当前时区 
    例如:SELECT DBTIMEZONE FROM DUAL; 

    5、SESSIONTIMEZONE 返回当前session所在时区 
    例如:SELECT SESSIONTIMEZONE FROM DUAL; 

    6、EXTRACT(key from date) key=(year,month,day,hour,minute,second) 从指定时间提到指定日期列 
    例如:SELECT EXTRACT(year from sysdate) FROM DUAL; 

    7、TO_TIMESTAMP(c1[,fmt]) 将指定字符按指定格式转换为timestamp格式。 
    例如:SELECT TO_TIMESTAMP('2007-8-22', 'YYYY-MM-DD HH:MI:SS') FROM DUAL; 

    (五).转换函数(Conversion Functions) 
    转换函数将指定字符从一种类型转换为另一种,通常这类函数遵循如下惯例:函数名称后面跟着待转换类型以及输出类型。 

    1、BIN_TO_NUM(n1,n2...n) 将一组位向量转换为等价的十进制形式。 
    例如:SELECT BIN_TO_NUM(1,1,0) FROM DUAL; 

    2、CAST(c as newtype) 将指定字串转换为指定类型,基本只对字符类型有效,比如char,number,date,rowid等。此类转换有一个专门的表列明了哪种类型可以转换为哪种类型,此处就不作酹述。 
    例如:SELECT CAST('1101' AS NUMBER(5)) FROM DUAL; 

    3、CHARTOROWID(c) 将字符串转换为rowid类型 
    例如:SELECT CHARTOROWID('A003D1ABBEFAABSAA0') FROM DUAL; 

    4、ROWIDTOCHAR(rowid) 转换rowid值为varchar2类型。返回串长度为18个字节。 
    例如:SELECT ROWIDTOCHAR(rowid) FROM DUAL; 

    5、TO_MULTI_BYTE(c) 将指定字符转换为全角并返回char类型字串 
    例如:SELECT TO_MULTI_BYTE('ABC abc 中华') FROM DUAL; 

    6、TO_SINGLE_BYTE(c) 将指定字符转换为半角并返回char类型字串 
    例如:SELECT TO_SINGLE_BYTE('ABC abc中华') FROM DUAL; 

    (六).其它辅助函数(Miscellaneous Single-Row Functions) 
    1、COALESCE(n1,n2,....n) 返回序列中的第一个非空值 
    例如:SELECT COALESCE(null,5,6,null,9) FROM DUAL; 

    2、DUMP(exp[,fmt[,start[,length]]]) 
        dump是个功能非常强悍的函数,对于深入了解oracle存储的人而言相当有用。所以对于我们这些仅仅只是应用的人而言就不知道能将其应用于何处了。此处仅介绍用法,不对其功能做深入分析。

        如上所示,dump拥有不少参数。其本质是以指定格式,返回指定长度的exp的内部表示形式的varchar2值。fmt含4种格式:8||10||16||17,分别表示8进制,10进制,16进制和单字符,默认为10进制。start参数表示开始位置,length表示以,分隔的字串数。 
    例如:SELECT DUMP('abcdefg',17,2,4) FROM DUAL; 

    3、EMPTY_BLOB,EMPTY_CLOB 这两个函数都是返回空lob类型,通常被用于insert和update等语句以初始化lob列,或者将其置为空。EMPTY表示LOB已经被初始化,只不过还没有用来存储数据。 

    4、NLS_CHARSET_NAME(n) 返回指定数值对应的字符集名称。 
    例如:SELECT NLS_CHARSET_NAME(1) FROM DUAL; 

    5、NLS_CHARSET_ID(c) 返回指定字符对应的字符集id。 
    例如:SELECT NLS_CHARSET_ID('US7ASCII') FROM DUAL; 

    6、NLS_CHARSET_DECL_LEN(n1,n2) 返回一个NCHAR值的声明宽度(以字符为单位).n1是该值以字节为单位的长度,n2是该值的字符集ID 
    例如:SELECT NLS_CHARSET_DECL_LEN(100, nls_charset_id('US7ASCII')) FROM DUAL; 

    7、SYS_EXTRACT_UTC(timestamp) 返回标准通用时间即格林威治时间。 
    例如:SELECT SYS_EXTRACT_UTC(current_timestamp) FROM DUAL; 

    8、SYS_TYPEID(object_type) 返回对象类型对应的id。 
    例如:这个这个,没有建立过自定义对象,咋做示例? 

    9、UID 返回一个唯一标识当前数据库用户的整数。 
    例如:SELECT UID FROM DUAL; 

    10、USER 返回当前session用户 
    例如:SELECT USER FROM DUAL; 

    11、USERENV(c) 该函数用来返回当前session的信息,据oracle文档的说明,userenv是为了保持向下兼容的遗留函数。oracle公司推荐你使用sys_context函数调用USERENV命名空间来获取相关信息,所以大家了解下就行了。 
    例如:SELECT USERENV('LANGUAGE') FROM DUAL; 

    12、VSIZE(c) 返回c的字节数。 
    例如:SELECT VSIZE('abc中华') FROM DUAL;

    展开全文
  • impala常用数值函数大全(超详细)

    千次阅读 2020-09-29 10:24:52
    本文目录数值函数函数列表 数值函数 Impala中数学函数用来执行数值计算,比如基本加法,减法,乘法和除法及更复杂的运算 函数列表 abs(numeric_type a) ==>返回参数的绝对值 --得到-12的绝对值 [master:21000] ...

    数值函数

    Impala中数学函数用来执行数值计算,比如基本加法,减法,乘法和除法及更复杂的运算

    函数列表

    abs(numeric_type a) ==> 返回参数的绝对值

    --得到-12的绝对值
    [master:21000] > select abs(-12) as abs;
    +-----+
    | abs |
    +-----+
    | 12  |
    +-----+
    --得到-12.5的绝对值
    [master:21000] > select abs(-12.5) as abs;
    +------+
    | abs  |
    +------+
    | 12.5 |
    +------+
    

    bin(bigint a) ==> 返回整数的二进制表示形式,即0和1位数字符串。

    --得到15的二进制字符串
    [master:21000] > select bin(15) as bin;
    +------+
    | bin  |
    +------+
    | 1111 |
    +------+
    

    ceil(double a)
    ceiling(double a)
    dceil(double a)

    ==> 返回大于或等于参数的最小整数

    --使用ceil得到大于12.5的最小整数
    [master:21000] > select ceil(12.5) as ceil;
    +------+
    | ceil |
    +------+
    | 13   |
    +------+
    --使用ceiling得到大于12.5的最小整数
    [master:21000] > select ceiling(12.5) as ceiling;
    +---------+
    | ceiling |
    +---------+
    | 13      |
    +---------+
    --使用dceil得到大于12.5的最小整数
    [master:21000] > select dceil(12.5) as dceil;
    +-------+
    | dceil |
    +-------+
    | 13    |
    +-------+
    

    conv(bigint num,int from_base,int to_base)
    conv(string num,int from_base,int to_base)

    ==> 将输入值进行基底转换并返回(进制转换)

    --将16进制的A转换为2进制
    [master:21000] > select conv('A',16,2) as conv;
    +------+
    | conv |
    +------+
    | 1010 |
    +------+
    --将16进制的5转换为2进制
    [master:21000] > select conv(5,16,2) as conv;
    +------+
    | conv |
    +------+
    | 101  |
    +------+
    

    e() ==> 返回数学常量e

    [master:21000] > select e() as e;
    +-------------------+
    | e                 |
    +-------------------+
    | 2.718281828459045 |
    +-------------------+
    
    

    exp(double a)
    dexp(double a)

    ==> 返回常数e的n次方

    --通过exp返回e的2次方
    [master:21000] > select exp(2) as exp;
    +------------------+
    | exp              |
    +------------------+
    | 7.38905609893065 |
    +------------------+
    --通过dexp返回e的2次方
    [master:21000] > select dexp(2) as dexp;
    +------------------+
    | dexp             |
    +------------------+
    | 7.38905609893065 |
    +------------------+
    

    factorial(integer_type a) ==> 返回整数的的阶乘

    --返回10的阶乘
    [master:21000] > select factorial(10) as factorial;
    +-----------+
    | factorial |
    +-----------+
    | 3628800   |
    +-----------+
    

    floor(double a)
    dfloor(double a)

    ==> 返回小于或等于参数的最大整数

    --通过floor返回小于12.5的最大整数
    [master:21000] > select floor(12.5) as floor;
    +-------+
    | floor |
    +-------+
    | 12    |
    +-------+
    --通过dfloor返回小于12.5的最大整数
    [master:21000] > select dfloor(12.5) as dfloor;
    +--------+
    | dfloor |
    +--------+
    | 12     |
    +--------+
    

    fmod(double a, double b)
    mod(numeric_typea, numeric_typeb)

    ==> 求余数

    --5除以2求余
    [master:21000] > select fmod(5,2) as fmod;
    +------+
    | fmod |
    +------+
    | 1    |
    +------+
    --5除以2求余
    [master:21000] > select mod(5,2) as mod;
    +-----+
    | mod |
    +-----+
    | 1   |
    +-----+
    

    fnv_hash(type v) ==> 得到任意值的64位哈希值

    --得到字符串hello的哈希值
    [master:21000] > select fnv_hash('hello') as fnv_hash;
    +---------------------+
    | fnv_hash            |
    +---------------------+
    | 6414202926103426347 |
    +---------------------+
    

    greatest(some-type a,[some-type b…]) ==> 返回表达式列表中的最大值

    -从整数5、16、2中得到最大值
    [master:21000] > select greatest(5,16,2) as greatest;
    +----------+
    | greatest |
    +----------+
    | 16       |
    +----------+
    -从字符a、b、c中得到最大值
    [master:21000] > select greatest('a','b','c') as greatest;
    +----------+
    | greatest |
    +----------+
    | c        |
    +----------+
    

    least(bigint a,[bigint b]) ==> 返回表达式列表中的最小值

    -从整数5、16、2中得到最小值
    [master:21000] > select least(5,16,2) as least;
    +-------+
    | least |
    +-------+
    | 2     |
    +-------+
    -从字符a、b、c中得到最小值
    [master:21000] > select least('a','b','c') as least;
    +-------+
    | least |
    +-------+
    | a     |
    +-------+
    

    hex(bigint a)
    hex(string a)

    ==> 将整数或字符串中的字符转换为十六进制并返回

    --返回整数15的十六进制值
    [master:21000] > select hex(15) as hex;
    +-----+
    | hex |
    +-----+
    | F   |
    +-----+
    --返回字符a的十六进制值
    [master:21000] > select hex('a') as hex;
    +-----+
    | hex |
    +-----+
    | 61  |
    +-----+
    

    unhex(string a) ==> 将16进制字符串转换为字符串输出

    [master:21000] > select unhex('61') as unhex;
    +-------+
    | unhex |
    +-------+
    | a     |
    +-------+
    

    is_inf(double a) ==> 判断一个值是否等于无穷大并返回

    --判断8是不是等于无穷大
    [master:21000] > select is_inf(8) as is_inf;
    +--------+
    | is_inf |
    +--------+
    | false  |
    +--------+
    --判断1/0是不是等于无穷大的值Inf
    [master:21000] > select is_inf(1/0) as is_inf;
    +--------+
    | is_inf |
    +--------+
    | true   |
    +--------+
    

    is_nan(double a) ==> 测试值是否等于不存在的值NaN

    --判断8是不是不存在的值NaN
    [master:21000] > select is_nan(8) as is_nan;
    +--------+
    | is_nan |
    +--------+
    | false  |
    +--------+
    --判断-1的平方根是不是不存在的值NaN
    [master:21000] > select is_nan(pow(-1,0.5)) as is_nan;
    +--------+
    | is_nan |
    +--------+
    | true   |
    +--------+
    

    ln(double a)
    dlog1(double a)

    ==> 返回数值的对数

    --通过ln返回e的对数
    [master:21000] > select ln(e()) as ln;
    +----+
    | ln |
    +----+
    | 1  |
    +----+
    --通过dlog1返回e的对数
    [master:21000] > select dlog1(e()) as dlog1;
    +-------+
    | dlog1 |
    +-------+
    | 1     |
    +-------+
    

    log(double base, double a) ==> 以数值base为基底返回a的对数

    --返回以2为底,4的对数
    [master:21000] > select log(2,4) as log;
    +-----+
    | log |
    +-----+
    | 2   |
    +-----+
    

    negative(numeric_type a) ==> 返回数值的负数,负负得正

    --返回5的相反数
    [master:21000] > select negative(5) as negative;
    +----------+
    | negative |
    +----------+
    | -5       |
    +----------+
    --返回-5的相反数
    [master:21000] > select negative(-5) as negative;
    +----------+
    | negative |
    +----------+
    | 5        |
    +----------+
    

    pi() ==> 返回圆周率π的值

    [master:21000] > select pi() as pi;
    +-------------------+
    | pi                |
    +-------------------+
    | 3.141592653589793 |
    +-------------------+
    

    pmod(bigint a, bigint b)
    pmod(double a, double b)

    ==> 返回数字的余数的绝对值

    [master:21000] > select pmod(-5,2) as pmod;
    +------+
    | pmod |
    +------+
    | 1    |
    +------+
    

    positive(numeric_type a) ==> 返回与输入值相同

    [master:21000] > select positive(-5) as positive;
    +----------+
    | positive |
    +----------+
    | -5       |
    +----------+
    

    pow(double a, double p)
    power(double a, double p)
    dpow(double a, double p)
    fpow(double a, double p)

    ==> 返回数值a的p次方

    --通过pow返回2的3次方
    [master:21000] > select pow(2,3) as pow;
    +-----+
    | pow |
    +-----+
    | 8   |
    +-----+
    --通过power返回2的3次方
    [master:21000] > select power(2,3) as power;
    +-------+
    | power |
    +-------+
    | 8     |
    +-------+
    --通过dpow返回2的3次方
    [master:21000] > select dpow(2,3) as dpow;
    +------+
    | dpow |
    +------+
    | 8    |
    +------+
    --通过fpow返回2的3次方
    [master:21000] > select fpow(2,3) as fpow;
    +------+
    | fpow |
    +------+
    | 8    |
    +------+
    

    quotient(bigint numerator, bigint denominator)
    quotient(double numerator, double denominator)

    ==> 求商(去掉余数)

    [master:21000] > select quotient(5,2) as quotient;
    +----------+
    | quotient |
    +----------+
    | 2        |
    +----------+
    

    radians(double a)
    ==>将参数值从度数转换为弧度

    [master:21000] > select radians(90) as radians;
    +-------------------+
    | radians           |
    +-------------------+
    | 1.570796326794897 |
    +-------------------+
    

    rand([int seed])
    random([int seed])

    ==> 返回0和1之间的随机值,不同参数返回不同值

    [master:21000] > select rand() as rand;
    -不加参数时将返回同一个值
    +-----------------------+
    | rand                  |
    +-----------------------+
    | 0.0004714746030380365 |
    +-----------------------+
    [master:21000] > select random() as random;
    +-----------------------+
    | random                |
    +-----------------------+
    | 0.0004714746030380365 |
    +-----------------------+
    [master:21000] > select random(10) as random;
    +--------------------+
    | random             |
    +--------------------+
    | 0.2185320766728986 |
    +--------------------+
    

    round(double a,[int d])
    dround(double a,[int d])

    ==> 截取数值,四舍五入

    --数值2.1求整
    [master:21000] > select round(2.1) as round;
    +-------+
    | round |
    +-------+
    | 2     |
    +-------+
    --数值2.123保留两位小数
    [master:21000] > select round(2.123,2) as round;
    +-------+
    | round |
    +-------+
    | 2.12  |
    +-------+
    --数值2.1求整
    [master:21000] > select dround(2.1) as dround;
    +--------+
    | dround |
    +--------+
    | 2      |
    +--------+
    --数值2.123保留两位小数
    [master:21000] > select dround(2.123,2) as dround;
    +--------+
    | dround |
    +--------+
    | 2.12   |
    +--------+
    

    scale(numeric_expression) ==> 求小数的位数

    --求数值2.1的小数位数
    [master:21000] > select scale(2.1) as scale;
    +-------+
    | scale |
    +-------+
    | 1     |
    +-------+
    

    sign(double a) ==> 返回参数值的符号,判断正负以及是否为0

    [master:21000] > select sign(2.1) as sign;
    +------+
    | sign |
    +------+
    | 1    |
    +------+
    [master:21000] > select sign(-2.1) as sign;
    +------+
    | sign |
    +------+
    | -1   |
    +------+
    [master:21000] > select sign(0) as sign;
    +------+
    | sign |
    +------+
    | 0    |
    +------+
    

    sqrt(double a)
    dsqrt(double a)

    ==> 求参数的平方根

    [master:21000] > select sqrt(4) as sqrt;
    +------+
    | sqrt |
    +------+
    | 2    |
    +------+
    [master:21000] > select dsqrt(4) as dsqrt;
    +-------+
    | dsqrt |
    +-------+
    | 2     |
    +-------+
    

    truncate(double_or_decimal a,[digits_to_leave])
    dtrunc(double_or_decimal a,[digits_to_leave])

    ==> 删除所有小数点以后的数或删除N位小数

    [master:21000] > select truncate(3.45);
    +----------------+
    | truncate(3.45) |
    +----------------+
    | 3              |
    +----------------+
    [master:21000] > select truncate(3.45,1);
    +-------------------+
    | truncate(3.45, 1) |
    +-------------------+
    | 3.4               |
    +-------------------+
    [master:21000] > select dtrunc(3.45);
    +--------------+
    | dtrunc(3.45) |
    +--------------+
    | 3            |
    +--------------+
    [master:21000] > select dtrunc(3.45,1);
    +-----------------+
    | dtrunc(3.45, 1) |
    +-----------------+
    | 3.4             |
    +-----------------+
    

    ps:望多多支持,后续更新中!!!

    展开全文
  • jQuery判断两个数值大小

    千次阅读 2019-01-15 11:32:59
    因为phper的习惯,在判断两个数值大小的时候。 $a = 10; b=2;if(b = 2; if(b=2;if(a &lt; $b){ echo “b大于a”; }else{ echo “a大于b”}; 在js中,var 定义变量,生成的都是字符串。 var a = 10; var b ...

    因为phper的习惯,在判断两个数值的大小的时候。
    $a = 10;
    b=2;ifb = 2; if(a < $b){
    echo “b大于a”;
    }else{
    echo “a大于b”};
    在js中,var 定义变量,生成的都是字符串。
    var a = 10;
    var b = 2;
    if(a < b){
    alert(“错误”);
    }else{
    alert(“正常”);
    };
    运行结果 正常; 10 小于 2 正常。 显然,这不是我们想要的结果。why? Because 两个都是字符串,取 a的第一位 1,取b的第一位 2;显然,2 大于 1.于是 返回正常。
    解决办法:
    一、eval() 函数if(eval(a)<eval(b)) {
      //逻辑业务
      }
      eval()函数用于在不引用任何特定对象的情况下计算代码字符串。
    二、parseINt()函数if(parseInt(a)<parseInt(b)) {
      //逻辑业务
      }
      parseInt()函数用于在转换为int。
    三、乘法运算(变相转换类型) (小学体育老师曾经说过:两边同时乘以相同的数,等式不变)if(a *10 < b * 10){
    //逻辑业务
    }
    我为人人,人人为我;美美与共,天下大同;

    作者:奔跑吧笨笨
    来源:CSDN
    原文:https://blog.csdn.net/qq_37837134/article/details/79611319
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • jquery 判断两个数值大小

    万次阅读 2018-03-19 14:43:49
    因为phper的习惯,在判断两个数值大小的时候。$a = 10;$b = 2;if($a &lt; $b){echo "b大于a";}else{echo "a大于b"};在js中,var 定义变量,生成的都是字符串。var a = 10;var b = 2;if...

    因为phper的习惯,在判断两个数值的大小的时候。

    $a = 10;

    $b = 2;

    if($a < $b){

    echo  "b大于a";

    }else{

    echo "a大于b"

    };

    在js中,var 定义变量,生成的都是字符串。

    var a = 10;

    var b = 2;

    if(a < b){

    alert("错误");

    }else{

    alert("正常");

    };

    运行结果   正常;    10 小于 2  正常。 显然,这不是我们想要的结果。why? Because 两个都是字符串,取 a的第一位 1,取b的第一位 2;显然,2 大于 1.于是 返回正常。


    解决办法:

    一、eval() 函数

    if(eval(a)<eval(b))
     {
       //逻辑业务
     }

       eval()函数用于在不引用任何特定对象的情况下计算代码字符串。

    二、parseINt()函数

    if(parseInt(a)<parseInt(b))
     {
       //逻辑业务
     }

       parseInt()函数用于在转换为int。

    三、乘法运算(变相转换类型) (小学体育老师曾经说过:两边同时乘以相同的数,等式不变)

    if(a *10 < b * 10){

    //逻辑业务

    }

    我为人人,人人为我;美美与共,天下大同;
    展开全文
  • 判断俩个值的大小函数sign

    千次阅读 2008-11-10 11:13:45
    比较大小select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1 取最大值select greatest('3', '5') from dual ...
  • public class GetMaxWithoutBoolean { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(getMax(100, 20)); } public static int ge
  • Oracle中的数值处理相关函数介绍

    千次阅读 2016-07-09 23:18:07
    这些函数跟串函数一样,用来更改数值或者是返回数值相关的信息。 数值类型区分如下: 单值:只是一个数值,如常数值、PL/SqL等中的变量。数据库的一列和一行的一个数字等。Oracle的单值函数通常通过计算来更改...
  • 判断输入的信息,并根据输入的内容输出,代码如下: age = int ( input ( '请输入您的年龄:' ) ) gender = input ( "请输入您的性别(F/M):" ) print ( '***您今年的运势***' ) if gender == 'F...
  • if [ "$PARAM" -ge 1 ] &&[ "$PARAM" -le 3 ] ;then fi 条件测试的表达式: [ expression ] ` expression ` 整数比较: -eq:测试两个整数是否相等;比如 $A -eq $B ......
  • js比较数值大小

    万次阅读 2019-04-22 16:47:28
    在js中不能直接用">"、"来直接判断大小 比如,在比较10和2时,按数字做比较10是比2大,可是按默认的字符串比较时,第一位的1和第一位的2比较是2大,就会出现2比10大的现象。 所以在javascript中比较两个数字的大小...
  • head> meta charset="UTF-8"> title>title> ...定义一个函数判断三个数字的大小,返回最大的数字--> script> var a=parseInt(prompt('请输入第1个数')) var b=parseInt(prompt('请输入第2个数')) v
  • SQL Server比较数值大小

    千次阅读 2013-04-25 15:51:02
    Create function f_GetMaxCyrs(@rs1 int,@rs2 int ,@rs3 int ,@rs4 int) returns int as begin declare @rstmp int if @rs1 >= @rs2 set @rstmp = @rs1 ... else set @rstmp = @rs2 ... if @rstmp >= @rs3 s
  • 对某业务数据处理时,需要判断两个数据字段的大小,保留较大的数据存入到指定字段下面。考虑使用decode函数和sign函数来实现这个目的。【解决】1、decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) 2、...
  • Shell编写比较数值大小

    千次阅读 2017-03-25 17:46:52
    写了这个函数,不敢独享。 #!/bin/bash compare_number(){ expr $1 \> $2 } a1=$(compare_number “30.29” 20) echo $a1 返回 1 #!/bin/bash compare_number(){ expr $1 \> $2 } a1=$...
  • //从数组中获取最大值和最小值 let max = Math.max.apply(null, counts...//根据数值大小返回颜色值的深浅 //n代表数值,方法用在数组遍历时 function getColor(min,max,n) { if(max == min){ if(n>0){ return ‘r...
  • JavaScript组件: isNaN() 函数 定义:Is Not A Number 的意思,此函数会检测参数是否 “不是数值” ,任何不能被转换为数值的参数都会返回 true,反之返回 false ...
  • js比较两个数值大小

    千次阅读 2011-12-12 15:05:13
    今天在做js判断两个值的问题的时候,发现了一个奇怪的现象:即两个数值之间单纯的居然出现不起作用的情况。   修改前相关js: function check(){ var minNum = document.getElementById("minNum")....
  • 一个varchar列,里面的内容有字符例如slkdjg,dkyiu等等,有数字,现在想对此列进行数值大小的比较例如 select * from table1 where field1&gt;20   方法 如果字符串中只有一个连续的整数数字子串,则 ...
  • 数值分析实习作业 院系 学号 姓名 数据科学与计算机学院 16339053 张志宏 1.对函数f(x)f(x)f(x)进行插值 f(x)=11+x2f(x)=11+x2f(x)=\frac{1}{1+x^{2}} (1)令插值节点为等距节点−5,−4,−3,...
  • 1.利用条件判断语句(if-elif-else)两两比较 # 提醒用户输入三个整数,通过int()方法将str类型转换成int类型 number_one = int(input("请输入一个整数")) number_two = int(input("请输入一个整数")) number_...
  • 定义比较两个数的大小函数* 下面定义的是Scala的一些基本代码以及详细的解释: object FunDemo1 { def main(args: Array[String]): Unit = { val maxfirst = max(2,5); val maxsecond = max(2,6); var arr: ...
  • 关于Ajax回调函数返回值判断的问题

    千次阅读 2019-06-15 14:06:16
    今天在做一个检验用户名是否已注册的验证功能时,发现 ajax 回调函数的返回值判断是否相等时出了一些问题,明明打印出来跟判断的字符一模一样,结果就是不相等。 Ajxa 代码: function validateNameIsReply(){...
  • countif可应用于通过比较大小判断极值。 2、应用 利用比对最大数还大的数的计数必然为0的思路来进行极值的判断,这个思路也是排名的思路。 =IF(COUNTIF(A$224:A$232,">"&A224),"","最大") ...
  • asp字符型数字比较大小
  • 函数实现两个数比较大小

    千次阅读 2020-02-09 01:12:17
    比较两个数的大小是很简单的,简单判断语句就能轻易地实现,今天说的是用函数来实现。 1.题目:int main() { int num1 = 10; int num2 = 20; //要求:完成get_max函数 int max = get_max(num1, num2); printf(“max ...
  • 之前做的一个项目需要读取一个文件中的数据,文件中的数据类型确定,大小不确定,每次读取完文件要计算出文件大小并传送给下位机。查了一下文件系统的函数,使用fscanf和feof就可以搞定这个小程序。 feof 函数原型:...
  • 函数概述 函数的分类 函数是C语言程序基本的组成单位,每个程序有且只能有一个主函数(main()),其他的函数都是子函数。按照不同的额分类标准,函数可以分成不同的类: 函数从是否有返回值,可以将函数分为又...
  • js数组内数字按大小排序实现函数

    千次阅读 2017-08-23 09:05:00
    1、代码var arr = [5,100,6,3,-12]; function sort(arr){ for(var i=0;i;i++){ for(var j=0;j;j++){ if(arr[j]>arr[j+1]){ var hand = arr[j];
  • =EOF可判断是否读到文件结尾当以二进制方式读写文件时,只能用feof函数判断,因为二进制读取数值,可能为负。 feof函数原型为int feof(FILE *stream)当未读到结尾时,返回值为0,读到结尾时,返回值为1feof不仅适

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 159,574
精华内容 63,829
关键字:

判断数值大小的函数