数据库——sql中的NULL值处理函数及其他常用函数

来源:互联网 发布:linux查看用户备注信息 编辑:程序博客网 时间:2024/05/22 13:33
  • SQRT():计算数值字段的平方根
  • RAND():获取0~1之间的随机数
注:在Oracle中产生随机数需使用dbms_random.value包,格式如下:   select dbms_random.value from dual;
  • CONCAT():连接多个字符串
  • null值处理函数——NVL(),ISNULL(),IFNULL()和COALESCE()
    在sql表达式中只要含有null,则整个表达式的值都为null,但有时我们希望将null值置为0或者其他的数值,此时需要用到null的处理函数。
注:在计算中对null值的处理,各数据库使用函数如下:  Oracle:NVL();  SQL Server和MS Access:ISNULL();  MySQL:IFNULL()或COALESCE();例:  select b.name,100*(b.priceA+nvl(b.priceB,1)) from boss b;  --priceB中含有null值,其他几种函数写法类似
  • REPLACE():字符串替换函数
格式为:replace(原字符串, 原字符串旧内容, 原字符串新内容);即使用表达式3替换掉表达式1中含有表达式2的部分,其中表达式1也可为字段

经测试发现,若表达式1为null,则函数直接返回null;若表达式2和3有一个为null,则返回表达式1中原字符串
——–此条待大神指正?

  • TRIM():去除字符串头尾空格
    该函数在不同的数据库中有不同的名称:
Oracle: RTRIM( ), LTRIM( )MySQL: TRIM( ), RTRIM( ), LTRIM( )SQL Server: RTRIM( ), LTRIM( )TRIM(字串): 将字串开头结尾的空格同时移除LTRIM(字串): 将所有字串起头的空白移除RTRIM(字串): 将所有字串结尾的空白移除其完整格式如下:trim([ [位置] [要移除的字串] from] 字串);其中[位置]可以是:leading(开头)、trailing(结尾)或both(两者都包括);若没有列出[要移除的字符串]是什么,则会移除空格实例如下:select '00'||trim('    saaai     ')||'00' 用trim,       '00'||trim(leading  'a' from 'aaai     ')||'00'leading,       '00'||trim(trailing 'a' from '     saaa')||'00'trailing,       '00'||trim(both 'a' from '    asaaa    ')||'00'both,       '00'||trim(both     from '    asaaa    ')||'00' 空缺from dual;
用TRIM 用LEADING 用TRAILING 用BOTH 空缺 00saaai00 00i 00 00 s00 00 asaaa 00 00asaaa00
原创粉丝点击