• SQL Server 常用函数总结


     

     

    SQL去空格函数

    1、ltrim(‘内容’)--去掉字符左边的空格 代码如下

    declare @str varchar(100)
    set @str='  ADFADF'
    select  @str
    select ltrim(@str)

    ltrim

    2、rtrim(‘内容’)---去掉列值右边的空格 ---作用和LTRIM()一样,这里不做介绍

    3、ltrim(rtrim('内容')):去掉字符串左边和右边的空格

    4、replace(计算字段,' ','')---去掉计算字段列值中所有的空格,如下代码:

    declare @str varchar(100)
    set @str='Hello   Work'
    select  @str
    select REPLACE(@str,' ','')

    replace

    SQL常用函数

    1、left()      ---返回字符串左边的字符:代码如下

    declare @str varchar(100)
    set @str='HelloWork'
    select  @str
    select left(@str,2)
    left

    2、right()   ---返回字符串右边的字符

    用法和LEFT()方法相反

    3、substring( expression, start, length ) --返回从字符串expression左边第start个字符起length个字符的部分。

    declare @str varchar(100)
    set @str='hellowork'
    select  SUBSTRING(@str,6,4)

    substring

    4、len() (也可以使用datalength())      ---返回字符串的长度

    declare @str varchar(100)
    set @str='HelloWork'
    select  datalength(@str)
    select len(@str)

    len

    5、upper()    ---将字符串转为大写

    declare @str varchar(100)
    set @str='hellowork'
    select  upper(@str)

    upper

    6、lower()    ---将字符串转换成小写 用法和UPPER()函数相反!

    7、stuff( character_expression , start , length ,character_expression ) --返回从字符串character_expression左边第start个字符开始要删除length个字符,在start开始删除的位置插入新字符串character_expression 。

    declare @str varchar(100)
    set @str='hellowork'
    select  STUFF(@str,6,4,'byby')

    stuff

    8、 charindex ( expression1 , expression2 [ , start_location ] )--  expression1是要到expression2中寻找的字符中,start_location是charindex函数开始在expression2中找expression1的位置, charindex函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如charindex没有找到要找的字符串,那么函数整数“0”

    declare @str varchar(100)
    set @str='hellowork'
    select  CHARINDEX('work',@str)
    select  CHARINDEX('4',@str)

    charincex

    9、  patindex ( %pattern% , expression )--函数返回字符或字符串在另一个字符串或表达式中的起始位置,patindex函数支持搜索字符串中使用通配符,这使patindex函数对于变化的搜索字符串很有价值

    declare @str varchar(100)
    set @str='hellowork'
    select  patindex('%work%',@str)
    select  patindex('%4%',@str)

    patindex

    10、isnull('内容',''):判断字符串是否为null,是的话返回‘’

    11、isdate('内容'):判断是否为时间格式,是的话返回1,否的话返回0

    SQL统计函数

    AVG ( ) -返回的平均价值
    count( ) -返回的行数
    first( ) -返回第一个值
    last( ) -返回最后一个值
    max( ) -返回的最大价值
    min( ) -返回最小的价值
    total( ) -返回的总和

    SQL日期函数

    SQL Server Date 函数

    下面的表格列出了 SQL Server 中最重要的内建日期函数:

           函数                 描述          
    getdate()   返回当前日前与时间 
    datepart(type,date)

    返回日期/时间的单独部分

    dateadd(type,number,date) 在日期中添加或减去指定的时间间隔 
    datediff(type,date1,date2) 返回两个日期之间的时间
    convert( data_type [ ( length ) ] , expression [ , style ]) 用不同的格式显示日期/时间
    --getdate 获取当前时间
     select getdate()
    
     --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月
     select dateadd(MONTH,12,'2013-02-17 13:20:16')  --返回:2014-02-17 13:20:16.000  (参数month可以改为 day,year等日期加相应的值)
    
     --datediff 两个时间的差 (后面-前面=返回值)
     select datediff(day,'2013-02-01','2013-02-18')   --返回:17  (参数day可以改为 month,year等日期加相应的值)
    
     --datepart 获取日期的某个部分整数
     select DATEPART(month, '2013-2-17')  --返回 2    (参数month可以改为 day,year等日期加相应的值)
    
     --datename 获取指定部位的字符串
     select datename(weekday, '2013-2-17')  --返回 星期日 (参数weekday可以改为 day,year等日期加相应的值)
    
     --day(), month(),year() 获取指定部位的字符串
     select day('2013-2-15') --返回15

    Convert日期转换函数

    时间格式转换使用 CONVERT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

    data_type
    目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
    参数
    length
    nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

    expression
    是任何有效的 Microsoft® SQL Server™ 表达式。

    style:风格

    Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
    Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
    Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
    Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
    Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
    Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
    Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
    Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
    Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
    Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
    Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
    Select CONVERT(varchar(100), GETDATE(), 12): 060516
    Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
    Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
    Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
    Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
    Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
    Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
    Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
    Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
    Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
    Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
    Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
    Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
    Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
    Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
    Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
    Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
    Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
    Select CONVERT(varchar(100), GETDATE(), 112): 20060516
    Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
    Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
    Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
    Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
    Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
    Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
    Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

    关于更多日期函数操作可以看https://www.cnblogs.com/zhangpengnike/p/6122588.html

  • 相关阅读:
    第一阶段-坑爹猴
    终于做出来了
    一天就制作成了这些
    累成狗做出来的
    一周的学习,组合起来的成就
    刚刚出炉的搜狗浏览器最新版本
    自己动手设计了一下下百度首页
    数论:卢卡斯定理(求组合数)
    数据结构:ST表模板(可维护区间RMQ)
    快读和快写(可以使用__int128)
  • 原文地址:https://www.cnblogs.com/wfy680/p/11972402.html
Copyright © 2020-2023  润新知