【笔记】各种常用函数

SQL中常常使用到各种函数来方便取值或实现某些特定功能,这里整理了五种常用的函数方便日后查阅:字符串函数、日期函数、数学函数与系统函数、聚合函数

一、字符串函数

  • CHARINDEX:查找一个指定的字符串在另一个字符串中的起始位置
    第一个参数为匹配字段,第二个参数为被查询的字符串,第三个参数可选,代表从第i个字符开始查询,默认为1
    例:SELECT CHARINDEX('123','hao123.com',1)
    返回值为4
  • LEN:返回传递给它的字符串长度
    例:SELECT LEN('SQL Server')
    返回值为10
  • UPPER:把传递给它的字符串转换为大写
    例:SELECT UPPER('sql server')
    返回值为SQL SERVER
  • LTRIM:清除字符左边的空格
    例:SELECT LTRIM(' ZhangSan ')
    返回值为'ZhangSan '
  • RTRIM:清除字符右边的空格
    例:SELECT LTRIM(' ZhangSan ')
    返回值为' ZhangSan'
  • RIGHT:从字符串右边返回指定数目的字符
    例:SELECT RIGHT('abc.123',3)
    返回值为'123'
  • REPLACE:替换一个字符串中的字符
    第一个参数为被查询的字符串,第二个参数为匹配字段,第三个字符为替换字段,当第三个参数为''时,表示删除匹配字段
    例:SELECT REPLACE('abc.amn','a','t')
    返回值为'tbc.tmn'
  • STUFF:在一个字符串中,删除指定长度的字符,并在该位插入一个新的字符串
    第一个参数为被修改的字符串,第二个参数为删除位置(从1起算),第三个参数为删除的字符个数,第四个参数为替换的字符串,当第四个参数为''时,表示删除指定位置的字符串
    例:SELECT STUFF('ABCDEF',2,3,'hao123')
    返回值为:Ahao123EF

实例使用:

(1) 截取邮箱名
SELECT LEFT(Email,CHARINDEX('@',Email)-1)
FROM UserInfo WHERE UserName='张三'
(2) 替换字符
SELECT REPLACE('我最喜欢的颜色是白色','白色','蓝色')
(3) 删除字符
SELECT REPLACE('我最喜欢的颜色是白色','白色','')
(4) 修改字符串
SELECT STUFF('ABCDEF',2,3,'hao123')
返回值为:Ahao123EF

二、日期函数

  • GETDATE:取得当前的系统日期
    例:SELECT GETDATE()
    返回值为:今天的日期 2017-04-01 09:21:14.167
  • DATEADD:将指定的数值添加到指定的日期部分后的日期
    第一个参数表示增量(d表示day),第二个参数为增加次数(可为负数),第三个参数为有效日期
    例:SELECT DATEADD(d,5,GETDATE())
    返回值为:以当前的日期格式返回2017-04-06 09:26:27.350
  • DATEDIFF:两个日期之间的指定日期部分的间隔
    第一个参数为增量,第二个参数为起始日期,第三个参数为截止日期
    例:SELECT SELECT DATEDIFF(YY,'2008/08/08',GETDATE())
    返回值为9
  • DATENAME:日期中指定日期部分的字符串形式
    例:SELECT DATENAME(dw,'12/13/2014')
    返回值为:'Saturday或星期六'
  • DATEPART:日期中指定日期部分的整数形式
    例:SELECT DATEPART(day,'01/15/2015')
    返回值为15

[注1] 在对两个DATENAME()相'+'时,是对两个返回的字符串进行拼接;在对两个DATEPART()相'+'时,是对两个返回的数值进行相加。

三、数学函数与系统函数

  • RAND:返回从0到1之间的随机float值
  • ABS:取数值表达式的绝对值
  • CEILING:向上取值
  • FLOOR:向下取值
  • ROUND:取数值表达式四舍五入为指定精度
  • SIGN:对于正数返回+1,对于负数返回-1,对于0返回0
  • POWER:取数值表达式的幂值
  • SQRT:取浮点表达式的平方根
  • CONVERT(int,'12'):string转int
  • CONVERT(varchar(2),12):int转string
  • CONVERT(varchar(10),GETDATE(),102):将日期型转为字符型

四、聚合函数

特点:

① 返回结果为单行单列
② 要查询的列中如果存在一个使用了聚合函数的列,那么就不允许存在非聚合函数项,如果有那么必须使用分组GROUP BY语句

  • SUM():返回表达式中所有数值的总和
    空值将被忽略,只能用于数字类型的列
  • AVG():返回表达式中所有数值的平均值
    空值将被忽略,只能用于数字类型的列
  • MAX():返回表达式中的最大值
    空值将被忽略,可以用于数字类型及日期时间烈性的列
  • MIN():返回表达式中的最小值
    空值将被忽略,可以用于数字类型及日期时间烈性的列
  • COUNT():返回提供的组或记录集中的计数
  • *:对所有的行进行计数,包括空值行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,211评论 0 4
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 1,981评论 1 24
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,351评论 0 20
  • 刚刚在写作群冒了个泡。我发现现在的人都很爱学习,这个学习比当初读书的时候还要用心还要费劲还要自己掏学费。但...
    胡敏宜阅读 135评论 3 1
  • 最初认识刘奕君,是因为《伪装者》,那个麻辣教官王天风,他不拘一格,“调戏”毒蝎胡歌,智斗毒蛇靳东,“戏弄”美女王鸥...
    简言依依阅读 425评论 0 3