暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库系统函数

sanynkc 2024-11-26
801

达梦系统函数

 

 

 

表 B-1 数值函数

 

序    号

函 数 名

功能简要说明

1

ABS(n)

求数值 n 的绝对值

2

ACOS(n)

求数值 n 的反余弦值

3

ASIN(n)

求数值 n 的反正弦值

4

ATAN(n)

求数值 n 的反正切值

5

ATAN2(n1,n2)

求数值 n1/n2 的反正切值

6

CEIL(n)/CEILING(n)

求大于或等于数值 n 的最小整数

7

COS(n)

求数值 n 的余弦值

8

COSH(n)

求数值 n 的双曲余弦值

9

COT(n)

求数值 n 的余切值

10

DEGREES(n)

求弧度 n 对应的角度值

11

EXP(n)

求数值 n 的自然指数

12

FLOOR(n)

求小于或等于数值 n 的最大整数

13

GREATEST(n1,n2,n3)

n1n2n3 三个数中最大的一个

14

GREAT(n1,n2)

n1n2 两个数中最大的一个

15

LEAST(n1,n2,n3)

n1n2n3 三个数中最小的一个

16

LN(n)

求数值 n 的自然对数

17

LOG(n1[,n2])

求数值 n2n1 为底数的对数;若 n2 未设置,则返回数值 n1 的自然对数

18

LOG10(n)

求数值 n 以 10 为底的对数

19

MOD(m,n)

求数值 m 被数值 n 整除的余数

20

PI( )

得到常数π

21

POWER(n1,n2)

求数值 n2n1 为基数的指数

22

RADIANS(n)

求角度 n 对应的弧度值


序    号

函 数 名

功能简要说明

23

RAND([n])

求一个 0~1 的随机浮点数

24

ROUND(n[,m])

求四舍五入值函数;将数值 n 四舍五入到小数点后 m 位,m 默认取 0

25

SIGN(n)

判断数值的数学符号

26

SIN(n)

求数值 n 的正弦值

27

SINH(n)

求数值 n 的双曲正弦值

28

SQRT(n)

求数值 n 的平方根

29

TAN(n)

求数值 n 的正切值

30

TANH(n)

求数值 n 的双曲正切值

31

TO_CHAR(n[,fmt[,'nls']])

将数值类型的数据转换为VARCHAR 类型输出

 

32

 

TO_NUMBER(char[,fmt])

将 CHAR、VARCHAR、VARCHAR2 等类型的字符串转换为fmt 类型的数

值,fmt 取值及相应的转换格式如表 B-7 所示

 

33

TRUNC(n[,m])/

TRUNCATE(n[,m])

截取数值函数;将数值 n 的小数点后 m 位以后的全部截去。当 m 为负数时,

表示将数值 n 的小数点前的 m 位截去,m 默认值为 0

 

表 B-2 字符串函数

 

序    号

函  数 名

功能简要说明

1

ASCII(char)

返回字符对应的整数

2

BIT_LENGTH(char)

求字符串的位长度

 

3

 

BLOB_EQUAL(n1, n2)

返回两个 BOB、IMAGE 或 LONGVARBINARY 类型的值 n1n2

比较结果,相同返回 1,否则返回 0

4

CHAR(n)/CHR(n)

返回整数 n 对应的字符

 

5

CHAR_LENGTH(char)/

CHARA_CTER_LENGTH(char)

 

求字符串的串长度

6

CONCAT(char1, char2, char3, …)

顺序连接多个字符串成为一个字符串

 

7

 

DIFFERENCE(char1, char2)

比较两个字符串的SOUNDEX 值差异,返回两个 SOUNDEX 值在同

一个位置出现相同字符的个数

8

EMPTY_CLOB( )

初始化 CLOB 字段

9

EMPTY_BLOB( )

初始化 BLOB 字段

10

GREATEST(char1,char2, char3)

求 char1、char2 和 char3 中最大的字符串

11

GREAT(char1, char2)

求 char1 和 char2 中最大的字符串

12

INITCAP(char)

将字符串中单词的首字符转换成大写字符

 

13

 

INS(char1, begin, n, char2)

删除在字符串 char1 中以 begin 参数所指位置开始的 n 个字符,再把

char2 插入到 char1 字符串的begin 所指位置

 

14

INSERT(char1, n1, n2, char2)/

INSSTR(char1, n1, n2, char2)

将字符串 char1 从第 n1 个字符的位置开始删除 n2 个字符,并将 char2

插入到 char1 中第 n1 个字符的位置

 

15

 

INSTR(char1, char2[,n,[m]])

从输入字符串 char1 的第 n 个字符开始查找字符串 char2 第 m 次出现的位置,以字符计算。当 n 为负数时,从字符串 char1 的最右边开始数

起。n m 的默认值均为 1


 

 

(续表)

序    号

函  数 名

功能简要说明

 

16

 

INSTRB(char1, char2[,n,[m]])

从字符串char1 的第n 字节开始查找字符串char2 第m 次出现的位置, 以字节计算。n m 的默认值均为 1。当 n 为负数时,从字符串 char1

的最右边开始数起

17

LCASE(char)/LOWER(char)

将大写的字符串转换为小写的字符串

18

LEFT(char, n)/LEFTSTR(char, n)

返回字符串最左边的 n 个字符组成的字符串

 

19

 

LEN(char)

返回给定字符串表达式的字符(而不是字节)个数(汉字为 1 个字符),

其中不包含尾随空格

 

20

 

LENGTH(char)

返回给定字符串 char 表达式的字符(而不是字节)个数(汉字为 1

个字符),其中包含尾随空格

 

21

LENGTHB(char)/

OCTET_LENGTH(char)

 

返回输入字符串 char 的字节数

 

22

COPYB(DEST_LOB, SRC_LOB,

LEN[,DOFFSET[,SOFFSET]])

 

复制指定长度的源 BLOB 数据插入目标 BLOB

23

LOCATE(char1, char2[,n])

返回字符串 char1 在字符串 char2 中首次出现的位置

 

24

 

LPAD(char1, n, char2)

在输入字符串 char1 的左边填充上字符串 char2 指定的字符,将其拉

伸至 n 个字符长

 

25

 

LTRIM(char1, char2)

从输入字符串 char1 中删除所有的前导字符,这些前导字符由字符串

char2 定义

 

26

 

NLSSORT(str1[,nls_sort_str2])

返回对汉字 str1 按照 str2 进行排序的编码。当 str2 未设置时,返回

str1 的十六进制字符串,若str2 取schinese_pinyin_m、schinese_stroke_ m、schinese_radical_m 时,分别表示对汉字按拼音、笔画、部首排序

 

27

OVERLAY(char1 PLACING char2

FROM int [FOR int])

字符串覆盖函数,用字符串 char2 覆盖字符串 char1 中指定的子字符

串,返回修改后的字符串 char1

 

28

POSITION(char1,char2)/

POSITION (char1, /IN char2)

 

求字符串 char1 在字符串 char2 中第一次出现的位置

 

29

REPEAT(char, n)/

REPEATSTR(char, n)

 

返回将字符串 char 重复 n 次形成的字符串

 

30

 

REPLACE(char, search_string [,replacement_string])

将输入字符串 char 中所有出现的 search_string 都替换成 replacement_ string 字符串。当 replacement_string 未设置时,表示删除字符串 char

中的search_string

31

REPLICATE(char,times)

将字符串 char 复制 times 次

32

REVERSE(char)

将字符串反序

 

33

RIGHT(char, n)/

RIGHTSTR(char, n)

 

返回字符串最右边 n 个字符组成的字符串

34

RPAD(char1, n, char2)

类似 LPAD 函数,只是向右拉伸该字符串使之达到 n 个字符串长

35

RTRIM(char1, char2)

从输入字符串 char1 的右端开始删除字符串 char2 中的字符

36

REGEXP

根据符合POSIX 标准的正则表达式进行字符串匹配

37

SOUNDEX(char)

返回一个表示字符串发音的字符串

38

SPACE(n)

返回一个包含 n 个空格的字符串

39

STRPOSDEC(char)

将字符串 char 中最后一个字符的值减 1

40

STRPOSDEC(char, pos)

将字符串 char 中指定位置 pos 上的字符值减 1

41

STRPOSINC(char)

将字符串 char 中最后一个字符的值加 1


 

 

(续表)

序    号

函  数 名

功能简要说明

42

STRPOSINC(char,pos)

将字符串 char 中指定位置 pos 上的字符值加 1

 

43

 

STUFF(char1, begin, n, char2)

删除在字符串 char1 中以 begin 参数所指位置开始的 n 个字符,再将

char2 插入字符串 char1 的begin 所指位置

 

44

SUBSTR(char, m, n)/

SUBSTRING(char FROM m [FOR n])

 

返回字符串 char 中从位置 m 开始的 n 个字符

45

SUBSTRB(char, n, m)

SUBSTR 函数等价的单字节形式

 

46

 

TO_CHAR(DATE[,fmt])

将日期类型数据转换为一个在日期语法fmt 中指定语法的VARCHAR

类型字符串

47

TRANSLATE(char, from, to)

将所有出现在搜索字符集中的字符转换成字符集中的相应字符

 

48

TRIM([LEADING|TRAILING|

BOTH][exp][char1] FROM char2])

 

删去字符串 char2 中由字符串 char1 指定的字符

 

49

 

TEXT_EQUAL(n1, n2)

返回 n1n2 的比较结果。如果完全相同,返等 1;否则,返回 0。n1

n2 的类型为 CLOB、TEXT 或 LONGVARCHAR

50

TO_SINGLE_BYTE(char)

将多字节形式的字符(串)转换为对应的单字节形式

51

TO_MULTI_BYTE(char)

将单字节形式的字符(串)转换为对应的多字节形式

52

UCASE(char)/UPPER(char)

将小写的字符串转换为大写的字符串

 

表 B-3   日期时间函数

 

序    号

函  数 名

功能简要说明

1

ADD_DAYS(date,n)

返回日期加上 n 天后的新日期

2

ADD_MONTHS(date,n)

在输入日期上加上指定的几个月返回一个新日期

3

ADD_WEEKS(date,n)

返回日期加上 n 个星期后的新日期

4

CURDATE( )

返回系统当前日期

5

CURTIME( )

返回系统当前时间

6

CURRENT_DATE( )

返回系统当前日期

7

CURRENT_TIME(n)

返回系统当前时间

8

CURRENT_TIMESTAMP(n)

返回系统当前带会话时区信息的时间戳

9

DATEADD(datepart,n,date)

向指定的日期加上一段时间

10

DATEDIFF(datepart,date1,date2)

返回跨两个指定日期的日期和时间边界数

11

DATEPART(datepart,date)

返回代表日期的指定部分的整数

12

DAYNAME(date)

返回日期的星期名称

13

DAYOFMONTH(date)

返回日期为所在月份中的第几天

14

DAYOFWEEK(date)

返回日期为所在星期中的第几天

15

DAYOFYEAR(date)

返回日期为所在年中的第几天

16

DAYS_BETWEEN(date1,date2)

返回两个日期之间的天数

17

EXTRACT(时间字段 FROM date)

抽取日期时间或时间间隔类型中某个字段的值

18

GETDATE( )

返回系统当前时间戳

19

GREATEST(n1,n2,n3)

n1n2n3 中的最大日期

20

GREAT(n1,n2)

n1n2 中的最大日期

21

HOUR(time)

返回时间中的小时分量

22

LAST_DAY(date)

返回输入日期所在月份最后一天的日期


 

 

(续表)

序    号

函  数 名

功能简要说明

23

LEAST(n1,n2,n3)

n1n2n3 中的最小日期

24

LOCALTIME( )

返回系统当前时间

25

LOCALTIMESTAMP( )

返回系统当前时间戳

26

MINUTE(time)

返回时间中的分钟分量

27

MONTH(date)

返回日期中的月份分量

28

MONTHNAME(date)

返回日期中月份分量的名称

29

MONTHS_BETWEEN(date1, date2)

返回两个日期之间的月份数

30

NEXT_DAY(date1, char2)

返回输入日期指定若干天后的日期

31

NOW( )

返回系统当前时间戳

32

OVERLAPS

返回两个时间段是否存在重叠

33

QUARTER(date)

返回日期在所处年中的季节数

34

ROUND(date1, char2)

将日期四舍五入到最接近格式元素指定的形式

35

SECOND(time)

返回时间中的秒分量

36

SYSDATE( )

返回系统的当前日期

37

SYSTIMESTAMP( )

返回系统当前带数据库时区信息的时间戳

38

TIMESTAMPADD(interval, n, timestamp)

返回时间timestamp 加上 n 个 interval 类型时间间隔的结果

 

39

TIMESTAMPDIFF(interval, timestamp1,

timestamp2)

返回一个表明 timestamp2 与 timestamp1 之间的 interval 类型

时间间隔的整数

 

40

 

TO_CHAR(DATE[,fmt])

将日期数据类型 DATE 转换为一个在日期语法 fmt 中指定语

法的VARCHAR 类型字符串

41

TO_DATE(char[,fmt])

字符串转换为日期数据类型

42

TRUNC(date[,format])

把日期截断到最接近格式元素指定的形式

43

WEEK(date)

返回日期为所在年中的第几周

44

WEEKDAY(date)

返回当前日期的星期值

45

WEEKS_BETWEEN(date1, date2)

返回两个日期之间相差的周数

46

YEAR(date)

返回日期的年分量

47

YEARS_BETWEEN(date1, date2)

返回两个日期之间相差的年数

 

表 B-4   空值判断函数

 

序    号

函  数 名

功能简要说明

1

COALESCE(n1,n2,……,nx)

返回第一个非空的值

2

IFNULL(n1,n2)

n1 为非空时,返回 n1;若 n1 为空,则返回 n2

3

ISNULL(n1,n2)

n1 为非空时,返回 n1;若 n1 为空,则返回 n2

4

NULLIF(n1,n2)

如果 n1=n2,返回 NULL;否则,返回 n1

5

NVL(n1,n2)

返回第一个非空的值

6

NULL_EQU(n1,n2)

返回两个类型相同的值的比较


 

 

表 B-5   类型转换函数

 

序    号

函  数 名

功能简要说明

1

BINTOCHAR(exp)

将 exp 转换为 CHAR 类型

2

CAST(value AS  类型说明)

将value 转换为指定的类型

3

CONVERT(类型说明, value)

将value 转换为指定的类型

4

HEXTORAW(exp)

将 exp 转换为 BLOB 类型

5

RAWTOHEX(exp)

将 exp 转换为VARCHAR 类型

 

表 B-6   杂类函数

 

序    号

函  数 名

功能简要说明

1

DECODE(exp, search1, result1,……, searchn, resultn[,default])

查表译码

2

ISDATE(exp)

判断表达式是否为有效的日期

3

ISNUMERIC(exp)

判断表达式是否为有效的数值

 

表 B-7   fmt 取值及相应转换格式

 

元   素

例   子

说   明

 

 

,(逗号)

 

9,999

在指定位置处返回逗号

注意:(1)逗号不能开头;

(2)逗号不能在小数点右边

.(小数点)

99.99

在指定位置处返回小数点

$

$9999

美元符号开头

 

0

0999

以 0 开头,返回指定字符的数字

9990

以 0 结尾,返回指定字符的数字

9

9999

返回指定字符的数字,其中,正号以空格代替,负号以“−”代替,0 开头以空格代替

D

99D99

返回小数点的指定位置,默认为“.”,格式串中最多能有 1 个D

G

9G999

返回指定位置处的组分隔符,可有多个G,但不能出现在小数点右边

 

 

 

S

 

S9999

负值前面返回 1 个“−”号;

正值前面不返回任何值

 

9999S

负值后面返回一个“−”号;

正值后面不返回任何值;

 

S 只能在格式串首尾出现

 

X

XXXX/

xxxx

返回指定字符的十六进制值,如果不是整数,则四舍五入到整数,如果为负数,则返

回错误

C

C9999

返回指定字符的数字

B

B9999

返回指定字符的数字

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论