openGauss学习笔记-48 openGauss 高级数据管理-函数

文章目录

    • openGauss学习笔记-48 openGauss 高级数据管理-函数
      • 48.1 数学函数
      • 48.2 三角函数列表
      • 48.3 字符串函数和操作符
      • 48.4 类型转换相关函数

openGauss学习笔记-48 openGauss 高级数据管理-函数

openGauss常用的函数如下:

48.1 数学函数

  • abs(x)

    描述:绝对值。

    返回值类型:和输入相同。

    示例:

    openGauss=# SELECT abs(-17.4);abs
    ------17.4
    (1 row)
    
  • cbrt(dp)

    描述:立方根。

    返回值类型:double precision

    示例:

    openGauss=# SELECT cbrt(27.0);cbrt
    ------3
    (1 row)
    
  • ceil(x)

    描述:不小于参数的最小的整数。

    返回值类型:整数。

    示例:

    openGauss=# SELECT ceil(-42.8);ceil 
    -------42
    (1 row)
    
  • degrees(dp)

    描述:把弧度转为角度。

    返回值类型:double precision

    示例:

    openGauss=# SELECT degrees(0.5);degrees
    ------------------28.6478897565412
    (1 row)
    
  • exp(x)

    描述:自然指数。

    返回值类型:dp or numeric,不考虑隐式类型转换的情况下与输入相同。

    示例:

    openGauss=# SELECT exp(1.0);exp         
    --------------------2.7182818284590452
    (1 row)
    
  • floor(x)

    描述:不大于参数的最大整数。

    返回值类型:与输入相同。

    示例:

    openGauss=# SELECT floor(-42.8);floor 
    --------43
    (1 row)
    
  • ln(x)

    描述:自然对数。

    返回值类型:dp or numeric,不考虑隐式类型转换的情况下与输入相同。

    示例:

    openGauss=# SELECT ln(2.0);ln         
    -------------------.6931471805599453
    (1 row)
    
  • log(x)

    描述:以10为底的对数。

    返回值类型:与输入相同。

    示例:

    openGauss=# SELECT log(100.0);log         
    --------------------2.0000000000000000
    (1 row)
    
  • log(b numeric, x numeric)

    描述:以b为底的对数。

    返回值类型:numeric

    示例:

    openGauss=# SELECT log(2.0, 64.0);log         
    --------------------6.0000000000000000
    (1 row)
    
  • mod(x,y)

    描述:x/y的余数(模)。如果x是0,则返回0。

    返回值类型:与参数类型相同。

    示例:

    openGauss=# SELECT mod(9,4);mod 
    -----1
    (1 row)
    
    openGauss=# SELECT mod(9,0);mod 
    -----9
    (1 row)
    
  • pi()

    描述:“π”常量。

    返回值类型:double precision

    示例:

    openGauss=# SELECT pi();pi
    ------------------3.14159265358979
    (1 row)
    
  • power(a double precision, b double precision)

    描述:a的b次幂。

    返回值类型:double precision

    示例:

    openGauss=# SELECT power(9.0, 3.0);power         
    ----------------------729.0000000000000000
    (1 row)
    
  • radians(dp)

    描述:把角度转为弧度。

    返回值类型:double precision

    示例:

    openGauss=# SELECT radians(45.0);radians
    ------------------.785398163397448
    (1 row)
    
  • random()

    描述:0.0到1.0之间的随机数。

    返回值类型:double precision

    示例:

    openGauss=# SELECT random();random
    ------------------.824823560658842
    (1 row)
    
  • round(x)

    描述:离输入参数最近的整数。

    返回值类型:与输入相同。

    示例:

    openGauss=# SELECT round(42.4);round 
    -------42
    (1 row)openGauss=# SELECT round(42.6);round 
    -------43
    (1 row)
    
  • round(v numeric, s int)

    描述:保留小数点后s位,s后一位进行四舍五入。

    返回值类型:numeric

    示例:

    openGauss=# SELECT round(42.4382, 2);round
    -------42.44
    (1 row)
    
  • sign(x)

    描述:输出此参数的符号。

    返回值类型:-1表示负数,0表示0,1表示正数。

    示例:

    openGauss=# SELECT sign(-8.4);sign 
    -------1
    (1 row)
    
  • sqrt(x)

    描述:平方根。

    返回值类型:dp or numeric,不考虑隐式类型转换的情况下与输入相同。

    示例:

    openGauss=# SELECT sqrt(2.0);sqrt        
    -------------------1.414213562373095
    (1 row)
    
  • trunc(x)

    描述:截断(取整数部分)。

    返回值类型:与输入相同。

    示例:

    openGauss=# SELECT trunc(42.8);trunc 
    -------42
    (1 row)
    
  • trunc(v numeric, s int)

    描述:截断为s位小数。

    返回值类型:numeric

    示例:

    openGauss=# SELECT trunc(42.4382, 2);trunc
    -------42.43
    (1 row)
    

48.2 三角函数列表

  • acos(x)

    描述:反余弦。

    返回值类型:double precision

    示例:

    openGauss=# SELECT acos(-1);acos       
    ------------------3.14159265358979
    (1 row)
    
  • asin(x)

    描述:反正弦。

    返回值类型:double precision

    示例:

    openGauss=# SELECT asin(0.5);asin       
    ------------------.523598775598299
    (1 row)
    
  • atan(x)

    描述:反正切。

    返回值类型:double precision

    示例:

    openGauss=# SELECT atan(1);atan       
    ------------------.785398163397448
    (1 row)
    
  • atan2(y, x)

    描述:y/x的反正切。

    返回值类型:double precision

    示例:

    openGauss=# SELECT atan2(2, 1);atan2
    ------------------1.10714871779409
    (1 row)
    
  • cos(x)

    描述:余弦。

    返回值类型:double precision

    示例:

    openGauss=# SELECT cos(-3.1415927);cos        
    --------------------.999999999999999
    (1 row)
    
  • cot(x)

    描述:余切。

    返回值类型:double precision

    示例:

    openGauss=# SELECT cot(1);cot
    ------------------.642092615934331
    (1 row)
    
  • sin(x)

    描述:正弦。

    返回值类型:double precision

    示例:

    openGauss=# SELECT sin(1.57079);sin        
    ------------------.999999999979986
    (1 row)
    
  • tan(x)

    描述:正切。

    返回值类型:double precision

    示例:

    openGauss=# SELECT tan(20);tan        
    ------------------2.23716094422474
    (1 row)
    

48.3 字符串函数和操作符

  • string || string

    描述:连接字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT 'MPP'||'DB' AS RESULT;result 
    --------MPPDB
    (1 row)
    
  • bit_length(string)

    描述:字符串的位数。

    返回值类型:int

    示例:

    openGauss=# SELECT bit_length('world');bit_length
    ------------40
    (1 row)
    
  • convert(string bytea, src_encoding name, dest_encoding name)

    描述:以dest_encoding指定的目标编码方式转化字符串bytea。src_encoding指定源编码方式,在该编码下,string必须是合法的。

    返回值类型:bytea

    示例:

    openGauss=# SELECT convert('text_in_utf8', 'UTF8', 'GBK');convert        
    ----------------------------\x746578745f696e5f75746638
    (1 row)
    
  • lower(string)

    描述:把字符串转化为小写。

    返回值类型:varchar

    示例:

    openGauss=# SELECT lower('TOM');lower
    -------tom
    (1 row)
    
  • octet_length(string)

    描述:字符串中的字节数。

    返回值类型:int

    示例:

    openGauss=# SELECT octet_length('jose');octet_length
    --------------4
    (1 row)
    
  • overlay(string placing string FROM int [for int])

    描述:替换子字符串。FROM int表示从第一个string的第几个字符开始替换,for int表示替换第一个string的字符数目。

    返回值类型:text

    示例:

    openGauss=# SELECT overlay('hello' placing 'world' from 2 for 3 );overlay 
    ---------hworldo
    (1 row)
    
  • position(substring in string)

    描述:指定子字符串的位置。字符串区分大小写。

    返回值类型:int,字符串不存在时返回0。

    示例:

    openGauss=# SELECT position('ing' in 'string');position
    ----------4
    (1 row)
    
  • substring(string [from int] [for int])

    描述:截取子字符串,from int表示从第几个字符开始截取,for int表示截取几个字节。

    返回值类型:text

    示例:

    openGauss=# SELECT substring('Thomas' from 2 for 3);substring
    -----------hom
    (1 row)
    
  • substring(string from pattern)

    描述:截取匹配POSIX正则表达式的子字符串。如果没有匹配它返回空值,否则返回文本中匹配模式的那部分。

    返回值类型:text

    示例:

    openGauss=# SELECT substring('Thomas' from '...$');substring
    -----------mas
    (1 row)
    openGauss=# SELECT substring('foobar' from 'o(.)b');result 
    --------o
    (1 row)
    openGauss=# SELECT substring('foobar' from '(o(.)b)');result 
    --------oob
    (1 row)
    
  • trim([leading |trailing |both] [characters] from string)

    描述:从字符串string的开头、结尾或两边删除只包含characters中字符(缺省是一个空白)的最长的字符串。

    返回值类型:varchar

    示例:

    openGauss=# SELECT trim(BOTH 'x' FROM 'xTomxx');btrim
    -------Tom
    (1 row)
    
    openGauss=# SELECT trim(LEADING 'x' FROM 'xTomxx');ltrim
    -------Tomxx
    (1 row)
    
    openGauss=# SELECT trim(TRAILING 'x' FROM 'xTomxx');rtrim
    -------xTom
    (1 row)
    
  • upper(string)

    描述:把字符串转化为大写。

    返回值类型:varchar

    示例:

    openGauss=# SELECT upper('tom');upper
    -------TOM
    (1 row)
    
  • ascii(string)

    描述:参数string的第一个字符的ASCII码。

    返回值类型:integer

    示例:

    openGauss=# SELECT ascii('xyz');ascii 
    -------120
    (1 row)
    
  • btrim(string text [, characters text])

    描述:从string开头和结尾删除只包含characters中字符(缺省是空白)的最长字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT btrim('sring' , 'ing');btrim
    -------sr
    (1 row)
    
  • chr(integer)

    描述:给出ASCII码的字符。

    返回值类型:varchar

    示例:

    openGauss=# SELECT chr(65);chr
    -----A
    (1 row)
    
  • convert(string bytea, src_encoding name, dest_encoding name)

    描述:以dest_encoding指定的目标编码方式转化字符串bytea。src_encoding指定源编码方式,在该编码下,string必须是合法的。

    返回值类型:bytea

    示例:

    openGauss=# SELECT convert('text_in_utf8', 'UTF8', 'GBK');convert        
    ----------------------------\x746578745f696e5f75746638
    (1 row)
    
  • initcap(string)

    描述:将字符串中的每个单词的首字母转化为大写,其他字母转化为小写。

    返回值类型:text

    示例:

    openGauss=# SELECT initcap('hi THOMAS');initcap
    -----------Hi Thomas
    (1 row)
    
  • length(string)

    描述:获取参数string中字符的数目。

    返回值类型:integer

    示例:

    openGauss=# SELECT length('abcd');length 
    --------4
    (1 row)
    
  • lpad(string text, length int [, fill text])

    描述:通过填充字符fill(缺省时为空白),把string填充为length长度。如果string已经比length长则将其尾部截断。

    返回值类型:text

    示例:

    openGauss=# SELECT lpad('hi', 5, 'xyza');lpad  
    -------xyzhi
    (1 row)
    
  • ltrim(string [, characters])

    描述:从字符串string的开头删除只包含characters中字符(缺省是一个空白)的最长的字符串。

    返回值类型:varchar

    示例:

    openGauss=# SELECT ltrim('xxxxTRIM','x');ltrim
    -------TRIM
    (1 row)
    
  • md5(string)

    描述:将string使用MD5加密,并以16进制数作为返回值。

    img 说明: MD5加密算法安全性低,存在安全风险,不建议使用。

    返回值类型:text

    示例:

    openGauss=# SELECT md5('ABC');md5                
    ----------------------------------902fbdd2b1df0c4f70b4a5d23525e932
    (1 row)
    
  • repeat(string text, number int )

    描述:将string重复number次。

    返回值类型:text。

    示例:

    openGauss=# SELECT repeat('Pg', 4);repeat
    ----------PgPgPgPg
    (1 row)
    
  • replace(string text, from text, to text)

    描述:把字符串string里出现地所有子字符串from的内容替换成子字符串to的内容。

    返回值类型:text

    示例:

    openGauss=# SELECT replace('abcdefabcdef', 'cd', 'XXX');replace     
    ----------------abXXXefabXXXef
    (1 row)
    
  • rpad(string text, length int [, fill text])

    描述:使用填充字符fill(缺省时为空白),把string填充到length长度。如果string已经比length长则将其从尾部截断。

    返回值类型:text

    示例:

    openGauss=# SELECT rpad('hi', 5, 'xy');rpad
    -------hixyx
    (1 row)
    
  • rtrim(string text [, characters text])

    描述:从字符串string的结尾删除只包含characters中字符(缺省是个空白)的最长的字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT rtrim('trimxxxx', 'x');rtrim
    -------trim
    (1 row)
    
  • split_part(string text, delimiter text, field int)

    描述:根据delimiter分隔string返回生成的第field个子字符串(从出现第一个delimiter的text为基础)。

    返回值类型:text

    示例:

    openGauss=# SELECT split_part('abc~@~def~@~ghi', '~@~', 2);split_part
    ------------def
    (1 row)
    
  • strpos(string, substring)

    描述:指定的子字符串的位置。和position(substring in string)一样,不过参数顺序相反。

    返回值类型:int

    示例:

    openGauss=# SELECT strpos('source', 'rc');strpos
    --------4
    (1 row)
    
  • to_hex(number int or bigint)

    描述:把number转换成十六进制表现形式。

    返回值类型:text

    示例:

    openGauss=# SELECT to_hex(2147483647);to_hex
    ----------7fffffff
    (1 row)
    
  • translate(string text, from text, to text)

    描述:把在string中包含的任何匹配from中字符的字符转化为对应的在to中的字符。如果from比to长,删掉在from中出现的额外的字符。

    返回值类型:text

    示例:

    openGauss=# SELECT translate('12345', '143', 'ax');translate
    -----------a2x5
    (1 row)
    

48.4 类型转换相关函数

  • to_char(timestamp, text)

    描述:将时间戳类型的值转换为指定格式的字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT to_char(current_timestamp, 'HH12:MI:SS');to_char
    ----------10:55:59
    (1 row)
    
  • to_char(interval, text)

    描述:将时间间隔类型的值转换为指定格式的字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT to_char(interval '15h 2m 12s', 'HH24:MI:SS');to_char
    ----------15:02:12
    (1 row)
    
  • to_char(int, text)

    描述:将整数类型的值转换为指定格式的字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT to_char(125, '999');to_char
    ---------125
    (1 row)
    
  • to_char(double precision/real, text)

    描述:将浮点类型的值转换为指定格式的字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT to_char(125.8::real, '999D99');to_char 
    ---------125.80
    (1 row)
    
  • to_char(numeric, text)

    描述:将数字类型的值转换为指定格式的字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT to_char(-125.8, '999D99S');to_char
    ---------125.80-
    (1 row)
    
  • to_date(text, text)

    描述:将字符串类型的值转换为指定格式的日期。

    返回值类型:timestamp without time zone

    示例:

    openGauss=# SELECT to_date('05 Dec 2000', 'DD Mon YYYY');to_date
    ---------------------2000-12-05 00:00:00
    (1 row)
    
  • to_number(text, text)

    描述:将字符串类型的值转换为指定格式的数字。

    返回值类型:numeric

    示例:

    openGauss=# SELECT to_number('12,454.8-', '99G999D9S');to_number
    ------------12454.8
    (1 row)
    
  • to_timestamp(text, text)

    描述:将字符串类型的值转换为指定格式的时间戳。

    返回值类型:timestamp

    示例:

    openGauss=# SELECT to_timestamp('05 Dec 2000', 'DD Mon YYYY');to_timestamp
    ---------------------2000-12-05 00:00:00
    (1 row)
    
  • to_timestamp(double precision)

    描述:把UNIX纪元转换成时间戳。

    返回值类型:timestamp with time zone

    示例:

    openGauss=# SELECT to_timestamp(1284352323);to_timestamp      
    ------------------------2010-09-13 12:32:03+08
    (1 row)
    

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/108936.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBootWeb案例 Part 4

3. 修改员工 需求:修改员工信息 在进行修改员工信息的时候,我们首先先要根据员工的ID查询员工的信息用于页面回显展示,然后用户修改员工数据之后,点击保存按钮,就可以将修改的数据提交到服务端,保存到数据…

【CP2K学习】-在Ubuntu上安装CP2K的全过程(包括gcc,gfortran,MKL等配置)

在Ubuntu中安装CP2K CP2K的安装检查系统是否安装gcc,gfortranMKL数学库的安装CP2K安装包下载CP2K的编译CP2K的测试ssmp版本测试popt版本测试 CP2K是第一性原理计算程序中发展迅速的程序之一,因其开源性、速度性等优点,是广大计算化学研究者的选择。 本文…

数据通信——传输层(UDP)

引言 我们上网观看比赛的时候,一旦网络信号出现问题,那可就太难受了,这意味着卡顿的时间内,你会错过这段时间内的内容。这种特性要归功于UDP(User Datagram Protocol)用户数据报协议。 无连接性 一般的&am…

上海亚商投顾:创业板指反弹大涨1.26% 核污染概念股午后全线走强

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日集体反弹,沪指午后冲高回落,创业板指盘中涨超2%,尾盘涨幅也有所收…

53 个 CSS 特效 2

53 个 CSS 特效 2 这里是第 17 到 32 个,跟上一部分比起来多了两个稍微大一点的首页布局,上篇:53 个 CSS 特效 1,依旧,预览地址在 http://www.goldenaarcher.com/html-css-js-proj/,git 地址: …

XSS攻击是怎么回事?记录一下

title: XSS攻击 date: 2023-08-27 19:15:57 tags: [XSS, 网络安全] categories: 网络安全 今天学习了一个网络攻击的手段,XSS攻击技术,大家自建网站的朋友,记得看看是否有此漏洞。 🎈 XSS 攻击 全称跨站脚本攻击 Cross Site Sc…

《机器学习核心技术》分类算法 - 决策树

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 决策树 1、决策树API2、决策时实际应用2.1、获取数据集2.2、划分数据集2.3、决策…

数据库表结构导出为word、html、markdown【转载,已解决,已验证,开源】

注&#xff1a;本文为gitcode代码验证&#xff0c;转载gitcode gitcode&#xff1a;https://gitcode.net/mirrors/pingfangushi/screw?utm_sourcecsdn_github_accelerator 整理数据库文档&#xff1a;https://mp.weixin.qq.com/s/Bo_U5_cl82hfQ6GmRs2vtA <!--数据库文档核…

数据结构--树4.1

目录 一、树的定义 二、结点的分类 三、结点间的关系 四、结点的层次 五、树的存储结构 一、树的定义 树&#xff08;Tree&#xff09;是n&#xff08;n>0&#xff09;个结点的有限集。当n0时称为空树&#xff0c;在任意一个非空树中&#xff1a; ——有且仅有一个特定的…

AI时代,程序员需要焦虑吗?

原文来自 微信公众号"互联网技术人进阶之路". 目录 前言一、程序员会被 AI 取代么&#xff1f;二、服务端开发尚难被 AI 取代三、服务端开发何去何从&#xff1f;四、业界首部体系化、全景式解读服务端开发的著作第一部分&#xff1a;服务端开发的技术和方法第二部分…

nginx-获取客户端IP地址

上有服务器与客户端中间是有nginx代理服务器的&#xff0c;上游服务器如何获取客户端真实ip地址&#xff1f; nginx代理服务器设置X-Forwarded-For的header参数&#xff0c;代理服务器通过remote_addr获取客户端ip地址&#xff0c;将ip地址写入nginx代理服务器的X-Forwarded-Fo…

python编写四画面同时播放swap视频

当代技术让我们能够创建各种有趣和实用的应用程序。在本篇博客中&#xff0c;我们将探索一个基于wxPython和OpenCV的四路视频播放器应用程序。这个应用程序可以同时播放四个视频文件&#xff0c;并将它们显示在一个GUI界面中。 C:\pythoncode\new\smetimeplaymp4.py 准备工作…

sql数据库怎么备份,sql 实时备份

在当今互联网时代&#xff0c;数据已经成为企业的核心资产。然而&#xff0c;数据的安全性和完整性面临硬件问题、软件故障、人工操作错误等各种威胁。为了保证数据的安全&#xff0c;实时备份已经成为公司必须采取的重要措施之一。下面我们就重点介绍SQL实时备份的重要实施方法…

百亿补贴通用H5导航栏方案 | 京东云技术团队

背景 在移动端页面中&#xff0c;由于屏幕空间有限&#xff0c;导航条扮演着非常重要的角色&#xff0c;提供了快速导航到不同页面或功能的方式。用户也通常会在导航条中寻找他们感兴趣的内容&#xff0c;因此导航条的曝光率较高。在这样的背景下&#xff0c;提供一个动态灵活…

你不知道的宝藏合金:高熵合金

高熵合金&#xff08;High-entropy alloys&#xff09;简称HEA&#xff0c;是由五种或五种以上等量或大约等量金属形成的合金。由于高熵合金可能具有许多理想的性质&#xff0c;因此在材料科学及工程上相当受到重视。 传统合金是以1~2种金属为主&#xff0c;并通过添加特定的少…

基于PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

兄弟,王者荣耀的段位排行榜是通过Redis实现的?

目录 一、排行榜设计方案1、数据库直接排序2、王者荣耀好友排行 二、Redis实现计数器1、什么是计数器功能&#xff1f;2、Redis实现计数器的原理&#xff08;1&#xff09;使用INCR命令实现计数器&#xff08;2&#xff09;使用INCRBY命令实现计数器 三、通过Redis实现“王者荣…

Java注解与反射

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Java注解与反射 Java注解和反射是Java语言中两个强大的特性&#xff0c;它们可以一起使用以实现动态的、灵活的编程和元数据处理 注解 Java注解&#xff08;Annotatio…

c语言六子棋(Alpha-Beta剪枝算法)

c语言Alpha-Beta剪枝算法六子棋介绍 Alpha-Beta剪枝算法是一种用于优化博弈树搜索的算法&#xff0c;可以在搜索过程中减少不必要的计算&#xff0c;从而提高搜索效率。该算法常用于博弈游戏&#xff0c;如六子棋。 六子棋是一种类似于五子棋的棋类游戏&#xff0c;在一个六边形…

ubuntu20.04 编译安装运行emqx

文章目录 安装依赖编译运行登录dashboard压力测试 安装依赖 Erlang/OTP OTP 24 或 25 版本 apt-get install libncurses5-dev sudo apt-get install erlang如果安装的erlang版本小于24的话&#xff0c;可以使用如下方法自行编译erlang 1.源码获取 wget https://github.com/erla…