SQL – 9.数据库函数

(*)数字函数

执行备注中的代码

  • ABS() :求绝对值。
  • CEILING():舍入到最大整数 。3.33将被舍入为4、2.89将被舍入为3、-3.61将被舍入为-3。
    Ceiling→天花板
  • FLOOR():舍入到最小整数。3.33将被舍入为3、2.89将被舍入为2、-3.61将被舍入为-4。
    Floor→地板。
  • ROUND(字段,小数位数)四舍五入。舍入到“离我半径最近的数” 。Round→“半径”。Round(3.1425,2)。

image image


(*)字符串函数

  • LEN() :计算字符串长度
  • LOWER()UPPER () :lower转小写、upper大写
  • LTRIM():字符串左侧的空格去掉
  • RTRIM () :字符串右侧的空格去掉
  • LTRIM(RTRIM('         bb        ')):去掉两边空格
  • SUBSTRING(string,start_position,length)
    参数string为主字符串,start_position为子字符串,
    在主字符串中的起始位置,length为子字符串的最大长度。
1
SELECT  SUBSTRING('abcdef111',2,3)

 

image


日期函数

GETDATE() :取得当前日期时间
DATEADD (datepart , number, date ),计算增加以后的日期。

DATEDIFF ( datepart , startdate , enddate ) :计算两个日期之间的差额。

DATEPART (datepart,date):返回一个日期的特定部分

 

 

    • GETDATE() :取得当前日期时间
      image

      =====================================================
    • DATEADD (datepart , number, date ),计算增加以后的日期。参数date为待计算的日期;参数number为增量;参数datepart为计量单位,可选值见备注。
      DATEADD(DAY, 3,date)为计算日期date的3天后的日期
      2012.7.28的3天后为7.31 
      image

      DATEADD(MONTH ,-8,date)为计算日期date的8个月之前的日期
      select DATEADD(MONTH,-8,GETDATE())
  • 2012.7减8个月为2011.11
    image  



    =====================================================
  • DATEDIFF ( datepart , startdate , enddate ) :计算两个日期之间的差额。
    datepart 为计量单位,可取值参考DateAdd。 
    image 
    员工入职的时间
1
select FName,FInDate,DATEDIFF(YEAR,FInDate,GETDATE()) from T_Employee

image
统计不同工龄的员工的个数:

1
select DateDiff(year,FInDate,getdate()),count(*) from T_Employee group by DateDiff(year,FInDate,getdate())

         image

 
=====================================================

  • DATEPART (datepart,date):返回一个日期的特定部分
    统计员工的入职年份个数:
    select DatePart(year,FInDate),count(*) from T_Employee
    group by DatePart(year,FInDate)
    image

=====================================================

 

 

类型转换函数

CAST ( expression AS data_type)
CONVERT ( data_type, expression)

 

               image

CAST

              image

CONVERT

              image

 

1
2
3
4
5
6
SELECT FIdNumber,
RIGHT(FIdNumber,3) as 后三位,
CAST(RIGHT(FIdNumber,3) AS INTEGER) as 后三位的整数形式,
CAST(RIGHT(FIdNumber,3) AS INTEGER)+1 as 后三位加1,
CONVERT(INTEGER,RIGHT(FIdNumber,3))/2 as 后三位除以2
FROM T_Person

作者:【唐】三三

出处:https://www.cnblogs.com/tangge/archive/2012/05/06/2486629.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   【唐】三三  阅读(285)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示