关于SQL的学习记录(八、SQL函数的使用)

SQL函数的使用

SQL函数的说明:
SQL函数是不通用的。SQL函数与前面所讲的SQL语句不同,它们在不同的数据库管理系统中不能通用,因为每一个数据库管理系统都有一套自己的SQL函数,而只有很少的函数在大多数DBMS中都能使用。例如:

功能 SQL Server函数 Oracel函数或语句 MySQL函数
获取字符串的某部分 SUBSTRING() SUBSTR() SUBSTRING()
获取当前日期 GETDATE() SYSDATE CURDATE()
转换数据类型 CONVERT() 有多个具体函数,如TO_DATE()将字符串转换为日期等 CONVERT()

类型转换函数:

  • 转换函数将具体DBMS的数据值转换成其它数据类型或对其进行格式化。
  • 经常用到的转换是,将日期和数字转换成指定的字符串格式,或者将字符串转换成有效的日期或数值。
    ❀在SQL Server中,使用CONVERT()CAST()两个函数转换数据类型。
  • Ⅰ.CONVERT()函数
    语法格式:
    CONVERT(
    datatype[(length)],
    expression,
    [style])
    #其中,datatype为要转换成的数据类型,如果是`CHAR`、`VARCHAR`、`BINARY`或`VARBINARY`数据类型,则可以选择length参数设置长度,expression为表达式(字段名),如果要将日期型数据转换为字符型数据,则还可以使用style参数设置日期显示格式。
    
  • Ⅱ.CAST()函数
    CAST()函数是SQL92标准函数。使用CAST()函数也可以转换数据类型,但是,在格式化日期时间数据方面不如CONVERT()函数方便。
    CAST()函数的语法格式为:
    CAST(
    expression AS datatype[(length)])
    #其中,expression为表达式(字段名),datatype为要转换成的数据类型,如果是`CHAR`、`VARCHAR`、`BINARY`或`VARBINARY`数据类型,则可以选择length参数设置长度。
    

❀在Oracle中常用的类型转换函数:

  • Ⅰ.TO_CHAR函数
    TO_CHAR函数可以将一个数值或者日期转换为指定格式的字符串。
    (1)将数值转换为字符串
    使用TO_CHAR函数将数值转换为字符串的语法格式为:TO_ CHAR ( number[,format])
    如果,不指定格式(format) ,Oracle将 会把number转换成最简单的字符串形式,如果是负数则在前面加一个减号(-) 。不过在多数情况下,用户还是想以特定的格式显示number,因此,需要设置format参数。
    (2)将日期转换为字符串
    使用TO_ CHAR函数将日期转换为字符串的语法格式为:TO_ CHAR (date, format )
    TO_ CHAR函数按format参数指定的格式将日期转换成相应的字符串形式。
  • Ⅱ.TO_DATE函数
    TO_DATE函数根据给定的格式将一个字符串转换成日期值,其语法格式为:TO_ DATE (string, format)

❀在MySQL中常用的类型转换函数:

  • CONVERT函数
    CONVERT函数的语法格式为:CONVERT(value, type)
    其中,type为数据类型,但是要特别注意,可以转换的数据类型是有限制的。只可以转换成下表中的格式:
类型 语法格式
二进制 BINARY[(N)]
字符型 CHAR[(N)]
日期 DATE
时间 TIME
日期时间型 DATETIME
浮点型 DECIMAL
整数 SIGNED[INTEGER]
无符号整数 UNSIGNED[INTEGER]
  • CAST函数
    CAST函数的语法格式为:CAST(value AS type)
    其中,type为数据类型,同上

在MySQL中,若查询出来数字数据在单元格左边,则该数据为字符串类型;若查询出类的数字在单元格右边,则该数据为整型数据。

日期函数:
日期函数允许操作日期时间值。
SQL Server支持的日期函数有GETDATEDATEADDDATEDIFFDATENAMElDATEPART等函数。

  • Ⅰ.GETDATE函数
    .GETDATE.函数用于获取当前系统时间,其格式为:GETDATE()
    输入SELECT GETDATE()运行后就可以获得当前系统时间
  • Ⅱ.DATEADD函数
    ·DATEADD·函数用于在指定日期上增加年、月、日或者时间等,其返回值为日期型数据。
    其格式为:DATEADD(datepart,number,date)
    其中,datepart参数规定在日期的哪个部分(如年份、月份等)增加(减)数值。
    如:DATEADD(month,10,GETDATE())是在当前时间的“月”上增加了10个月,并返回10个月后的日期

说明: datepart参数值也可以使用缩写,例如,DATEADD(mm,10,GETDATE()也是在当前时间上增加10个月。

  • Ⅲ.DATEDIFF函数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值