HANA SQL 常用函数分类

数据转换类函数:

函数名说明语法
CAST转换类型CAST (expression AS data_type)
TO_ALPHANUM将给定的 value 转换为 ALPHANUM 数据类型。TO_ALPHANUM (value)
TO_BIGINT将 value 转换为 BIGINT 类型。TO_BIGINT (value)
TO_BINARY将 value 转换为 BINARY 类型。TO_BINARY (value)
TO_BLOB将 value 转换为 BLOB 类型。参数值必须是二进制字符串。TO_BLOB (value)
TO_CHAR将 value 转换为 CHAR 类型。如果省略 format 关键字,转换将会使用 Date Formats 中说明的日期格式模型。TO_CHAR (value [, format])
TO_CLOB将 value 转换为 CLOB 类型。TO_CLOB (value)
TO_DATE将日期字符串 d 转换为 DATE 数据类型。如果省略 format 关键字,转换将会使用 Date Formats 中说明的日期格式模型。TO_DATE (d [, format])
TO_DATS将字符串 d 转换为 ABAP 日期字符串,格式为”YYYYMMDD”。TO_DATS (d)
TO_DECIMAL将 value 转换为 DECIMAL 类型。TO_DECIMAL (value [, precision, scale])
TO_DOUBLE将 value 转换为 DOUBLE(双精度)数据类型。TO_DOUBLE (value)
 TO_INT将 value 转换为 INTEGER 类型。TO_INT (value)
TO_INTEGER将 value 转换为 INTEGER 类型。TO_INTEGER (value)
TO_NCHAR将 value 转换为 NCHAR Unicode 字符类型。如果省略 format 关键字,转换将会使用 Date Formats中说明的日期格式模型。TO_NCHAR (value [, format])
TO_NCLOB将 value 转换为 NCLOB 数据类型。TO_NCLOB (value)
TO_NVARCHAR将 value 转换为 NVARCHAR Unicode 字符类型。如果省略 format 关键字,转换将会使用 DateFormats 中说明的日期格式模型。TO_NVARCHAR (value [,format])
TO_REAL将 value 转换为实数(单精度)数据类型。TO_REAL (value)
TO_SECONDDATE将 value 转换为 SECONDDATE 类型。如果省略 format 关键字,转换将会使用 Date Formats 中说明的日期格式模型。TO_SECONDDATE (d [, format])
TO_SMALLDECIMAL将 value 转换为 SMALLDECIMAL 类型。TO_SMALLDECIMAL (value)
TO_SMALLINT将 value 转换为 SMALLINT 类型。TO_SMALLINT (value)
TO_TIME将时间字符串 t 转换为 TIME 类型。如果省略 format 关键字,转换将会使用 Date Formats 中说明的日期格式模型。TO_TIME (t [, format])
TO_TIMESTAMP将时间字符串 t 转换为 TIMESTAMP 类型。如果省略 format 关键字,转换将会使用 Date Formats中说明的日期格式模型。TO_TIMESTAMP (d [, format])
TO_TINYINT将 value 转换为 TINYINT 类型。TO_TINYINT (value)
TO_VARCHAR将给定 value 转换为 VARCHAR 字符串类型。如果省略 format 关键字,转换将会使用 Date Formats中说明的日期格式模型。TO_VARCHAR (value [, format])

日期时间函数:

函数名说明语法
ADD_DAYS计算日期 d 后 n 天的值。ADD_DAYS (d, n)
 ADD_MONTHS计算日期 d 后 n 月的值。ADD_MONTHS (d, n)
ADD_SECONDS计算时间 t 后 n 秒的值。ADD_SECONDS (t, n)
ADD_YEARS计算日期 d 后 n 年的值。ADD_YEARS (d, n)
CURRENT_DATE返回当前本地系统日期。CURRENT_DATE
CURRENT_TIME返回当前本地系统时间。CURRENT_TIME
CURRENT_TIMESTAMP返回当前本地系统的时间戳信息。CURRENT_TIMESTAMP
CURRECT_UTCDATE返回当前 UTC 日期。 UTC 代表协调世界时,也被称为格林尼治标准时间( GMT)。CURRECT_UTCDATE
CURRENT_UTCTIME返回当前 UTC 时间。CURRENT_UTCTIME
CURRENT_UTCTIMESTAMP返回当前 UTC 时间戳。CURRENT_UTCTIMESTAMP
DAYNAME返回一周中日期 d 的英文名DAYNAME (d)
DAYOFMONTH返回一个月中日期 d 的整数数字(即一个月中的几号)。DAYOFMONTH (d)
DAYOFYEAR返回一年中代表日期 d 的整数数字(即一年中的第几天)。DAYOFYEAR (d)
DAYS_BETWEEN计算 d1 和 d2 之间的天数(只包括一端:[d1,d2)或者(d1,d2])。DAYS_BETWEEN (d1, d2)
EXTRACT返回日期 d 中指定的时间日期字段的值(年、月、日、时、分、秒)。EXTRACT ({YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} FROM d)
HOUR返回时间 t 中表示小时的整数。HOUR (t)
ISOWEEK返回日期 d 的 ISO 年份和星期数。星期数前缀为字母 W。ISOWEEK (d)
LAST_DAY返回包含日期 d 的月的最后一天日期。LAST_DAY (d)
LOCALTOUTC将 timezone 下的本地时间 t 转换为 UTC 时间LOCALTOUTC (t, timezone)
MINUTE返回时间 t 中表示分钟的数字。MINUTE(t)
MONTH返回日期 d 所在月份的数字。MONTH(d)
MONTHNAME返回日期 d 所在月份的英文名。MONTHNAME(d)
NEXT_DAY返回日期 d 的第二天。NEXT_DAY (d)
NOW返回当前时间戳。NOW ()
QUARTER返回日期 d 的年份,季度。第一季度由 start_month 定义的月份开始,如果没有定义start_month,第一季度假设为从一月开始。QUARTER (d, [, start_month ])
SECOND返回时间 t 表示的秒数。SECOND (t)
SECONDS_BETWEEN计算日期参数 d1 和 d2 之间的秒数,语义上等同于 d2-d1。SECONDS_BETWEEN (d1, d2)
UTCTOLOCAL将 UTC 时间值转换为时区 timezone 下的本地时间。UTCTOLOCAL (t, timezone)
WEEK返回日期 d 所在星期的整数数字。WEEK (d)
WEEKDAY返回代表日期 d 所在星期的日期数字(星期几)。返回值范围为 0 至 6,表示 Monday(0)至 Sunday(6)。WEEKDAY (d)
YEAR返回日期 d 所在的年份数。YEAR (d)

数字函数:

函数名说明语法
ABS返回数字参数 n 的绝对值。ABS (n)
ACOS返回参数 n 的反余弦,以弧度为单位,值为-1 至 1。ACOS (n)
ASIN返回参数 n 的反正弦值,以弧度为单位,值为-1 至 1。ASIN (n)
ATAN返回参数 n 的反正切值,以弧度为单位, n 的范围为无限。ATAN (n)
ATAN2返回两数 n 和 m 比率的反正切值,以弧度为单位。这和 ATAN(n/m)的结果一致。ATAN2 (n, m)
BINTOHEX将二进制值转换为十六进制。BINTOHEX (expression)
BITAND对参数 n 和 m 的位执行 AND 操作(即按位与)。 n 和 m 都必须是非负整数。 BITAND 函数返回 BIGINT 类型的结果。BITAND (n, m)
CEIL返回大于或者等于 n 的第一个整数(大小它的最小整数)CEIL(n)
COS返回参数 n 的余弦值,以弧度为单位。COS (n)
COSH返回参数 n 的双曲余弦值。COSH (n)
COT计算参数 n 的余切值,其中 n 以弧度表示。COT (n)
EXP返回以 e 为底, n 为指数的计算结果。EXP (n)
FLOOR返回不大于参数 n 的最大整数。FLOOR (n)
GREATEST返回参数 n1,n2,…最大数。GREATEST (n1 [, n2]...)
HEXTOBIN将十六进制数转换为二进制数。HEXTOBIN (value)
LEAST返回参数 n1,n2,…最小数。LEAST (n1 [, n2]...)
LN返回参数 n 的自然对数。LN (n)
LOG返回以 b 为底, n 的自然对数值。底 b 必须是大于 1 的正数,且 n 必须是正数。LOG (b, n)
MOD返回 n 整除 b 的余数值。MOD (n, d)
POWER计算以 b 为底, e 为指数的值。POWER (b, e)
ROUND返回参数 n 小数点后 pos 位置的值(四舍五入)。ROUND (n [, pos])
SIGN返回 n 的符号(正或负)。如果 n 为正,则返回 1; n 为负,返回-1, n 为 0 返回 0。SIGN (n)
SIN返回参数 n 的正弦值,以弧度为单位。SIN (n)
SINH返回 n 的双曲正弦值,以弧度为单位。SINH (n)
SQRT返回 n 的平方根。SQRT (n)
TAN返回 n 的正切值,以弧度为单位。TAN (n)
TANH返回 n 的双曲正切值,以弧度为单位。TANH (n)
UMINUS返回 n 的负值。UMINUS (n)

字符串函数:

函数名说明语法
ASCII返回字符串 c 中第一个字节的 ASCII 值。ASCII(c)
CHAR返回 ASCII 值为数字 n 的字符。CHAR (n)
CONCAT返回位于 str1 后的 str2 联合组成的字符串。级联操作符(||)与该函数作用相同。CONCAT (str1, str2)
LCASE将字符串 str 中所有字符转换为小写。LCASE(str)
LEFT返回字符串 str 开头 n 个字符/位的字符。LEFT (str, n)
LENGTH返回字符串 str 中的字符数。对于大对象(LOB)类型,该函数返回对象的字节长度。LENGTH(str)
LOCATE返回字符串 haystack 中子字符串 needle 所在的位置。如果未找到,则返回 0。LOCATE (haystack, needle)
LOWER将字符串 str 中所有字符转换为小写。LOWER (str)
LPAD从左边开始对字符串 str 使用空格进行填充,达到 n 指定的长度。如果指定了 pattern 参数,字符串 str 将按顺序填充直到满足 n 指定的长度。LPAD (str, n [, pattern])
LTRIM返回字符串 str 截取所有前导空格后的值。如果定义了 remove_set, LTRIM 从起始位置移除字符串str 包含该集合中的字符,该过程持续至到达不在 remove_set 中的字符。LTRIM (str [, remove_set])
NCHAR返回整数 n 表示的 Unicode 字符。NCHAR (n)
REPLACE字符串替换REPLACE (original_string, search_string, replace_string)
RIGHT返回字符串 str 中最右边的 n 字符/字节。RIGHT(str, n)
RPAD从尾部开始对字符串 str 使用空格进行填充,达到 n 指定的长度。如果指定了 pattern 参数,字符串 str 将按顺序填充直到满足 n 指定的长度。RPAD (str, n [, pattern])
 RTRIM返回字符串 str 截取所有后置空格后的值。如果定义了 remove_set, RTRIM 从尾部位置移除字符串 str 包含该集合中的字符,该过程持续至到达不在 remove_set 中的字符。RTRIM (str [,remove_set ])
SUBSTR_AFTER

返回 str 中位于 pattern 第一次出现位置后的子字符串。

如果 str 不包含 pattern 子字符串,则返回空字符串。

如果 pattern 为空字符串,则返回 str。

如果 str 或者 pattern 为 NULL,则返回 NULL。

SUBSTR_AFTER (str, pattern)
SUBSTR_BEFORE

返回 str 中位于 pattern 第一次出现位置前的子字符串。

如果 str 不包含 pattern 子字符串,则返回空字符串。

如果 pattern 为空字符串,则返回 str。

如果 str 或者 pattern 为 NULL,则返回 NULL。

SUBSTR_BEFORE (str, pattern)
SUBSTRING

返回字符串 str 从 start_position 开始的子字符串。 SUBSTRING 可以返回 start_position 起的剩余部分字符或者作为可选,返回由 string_length 参数设置的字符数。

如果 start_position 小于 0,则被视为 1。

如果 string_length 小于 1,则返回空字符串。

SUBSTRING (str, start_position [, string_length])
 TRIM

返回移除前导和后置空格后的字符串 str。截断操作从起始(LEADING)、结尾(TRAILING)或者两端(BOTH)执行。

如果 str 或者 trim_char 为空,则返回 NULL。

如果没有指定可选项, TRIM 移除字符串 str 中两端的子字符串 trim_char。

如果没有指定 trim_char,则使用单个空格(就是去空格)。

TRIM ([[LEADING | TRAILING | BOTH] trim_char FROM] str )
UCASE将字符串 str 中所有字符转换为大写。UCASE (str)
UNICODE返回字符串中首字母的 UnIcode 字符码数字;如果首字母不是有效编码,则返回 NULL。UNICODE(c)
UPPER将字符串 str 中所有字符转换为大写。UPPER (str)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值