SqlServer常用内置函数
--=======================================
-- SQL常用内置函数
--======================================= --判断为null函数
declare @abc varchar(5)
set @abc='mnw'
select isnull(@abc,0); --如果变量abc值为null,则取0,否则取被赋的值 --查找索引函数
select charindex('abc','bac abc fmd abc'); --获取字符串abc在长字符串bac abc fmd abc中的索引位置,索引默认从1开始找
select charindex('abc','bac abc fmd abc',9); --索引从9开始找 --重复获取函数
select replicate('m',3); --按指定次数重复字符表达式,将m字符重复三次
select replicate('abc',2);--将字符串abc重复2次 --大小写转换函数
select len('datazsrt'); --获取字符串长度
select lower('ADRTddd'); --转小写
select upper('data');--转大写 --替换截取函数
select substring('abcdef111',2,3); --截取字符串 select replace('dadt123','t1','AA'); --替换字符串 --类型转换函数
select cast('2015-08-02' as datetime) as 日期类型; --数据类型转换,CAST是ANSI兼容的,而CONVERT则不是 select 'ab'+cast(1 as varchar);-- 将1转化为字符串与ab相加 select convert(datetime,'2015-08-02'); --数据类型转换,与cast相同 select convert(varchar(19),getdate(),113); --不同的是convert还提供一些特别的日期格式转换,而cast没有这个功能 select format(getdate(),'yyyy/mm/dd'); --将日期转化为规定的格式 --数学函数
select round(2.15,1); --四舍五入,第二个参数索引从0开始,即:0表示小数后第一位进行判断 select ceiling(2.158); --向上取整 select floor(2.713); --向下取整 --日期函数
select getdate(); select datepart(mm,'2015-08-04 15:28:26'); --返回日期的某一部分 yy,mm,dd,hh,mi,ss, select dateadd(dd,-25,'2015-08-04 15:28:26'); --在日期中加上或减去制定的时间间隔,给天数减25天 select datediff(day,'2008-06-05','2008-08-05') as 天数; --返回两个日期之间的天数 --聚合函数
count(),min(),max(),avg(),sum() --4个排名函数,都可以与over()结合使用
row_number(),rank(),dense_rank(),ntile() select row_number() over(order by column_name),* from table_name; --按某个字段排名然后查询出所有值,它会为查询出来的每一行记录生成一个序号,依次排序且不会重复
select row_number() over(order by column_name),* from table_name order by column_name desc; --先按某个字段排名给出序号,然后再根据另一个字段进行倒叙排列,排出序号可能会被打乱 select rank() over(order by column_name),* from table_name; --rank函数会考虑到column_name中的值会重复或相同,那个给出的序号也会相同。但生成的序号不是连续的,rank是跳跃排序 select dense_rank() over(order by column_name),* from table_name; --dense_rank函数不同与rank函数,它生成的序号是连续的,dense_rank不会跳跃 --ntile()函数还是比较麻烦的排序分组函数 select ntile(4) over(order by column_name des),* from table_name; --先对column_name进行倒序排列, 参数4表示分为4组,每组中有多少个相同的序号要根据(总记录数/总组数)+1 条 --如果一个表中有6条数据,那么(6/4)+1=2;每组中有两个相同的记录数,末尾的根据情况分配,必须要分4组。但如果是8条数据,能整除,8/4=2;就不需要再加1,每组中平均分两条相同记录数的数据
SqlServer常用内置函数的更多相关文章
- MYSQL常用内置函数详解说明
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
- Python常用模块中常用内置函数的具体介绍
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...
- MySQL学习笔记_7_MySQL常用内置函数
MySQL常用内置函数 说明: 1)可以用在SELECT/UPDATE/DELETE中,及where,orderby,having中 2)在函数里将字段名作为参数,变量的值就是字段所对应的每一行的值. ...
- PYTHON语言之常用内置函数
一 写在开头本文列举了一些常用的python内置函数.完整详细的python内置函数列表请参见python文档的Built-in Functions章节. 二 python常用内置函数请注意,有关内置 ...
- Python的常用内置函数介绍
Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...
- python中的运算符及表达式及常用内置函数
知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...
- python第十八课——常用内置函数
常用内置函数:round(): print(round(3.14),round(3.99)) print(round(3145.926,-2),round(413.575,2)) abs(): pri ...
- php2go - Go 实现 PHP 常用内置函数
[转]http://www.syyong.com/Go/php2go-Use-Golang-to-implement-PHP-s-common-built-in-functions.html 使用Go ...
- Python基础(二)——常用内置函数
1. 常用内置函数 (1)isinstance(object, classinfo) 用于判断一个对象是否为某一类型. object 是实例对象 classinfo 是基本类型如 int, floa ...
随机推荐
- python -- 约束、异常处理、MD5
1.类的约束 1.写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError class Base: # 对子类进行了约束,必须重写该方法 def login(se ...
- makefile中 = := += 的区别
= 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值 += 是添加等号后面的值 1.“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将 ...
- c函数创建文件和路径
bool NewFileName(const char* filename) { size_t len; < (len = strlen(filename))) { char* tmpbuf, ...
- 福大软工 · 第十一次作业 - Alpha 事后诸葛亮(团队)
福大软工·第十一次作业-Alpha事后诸葛亮 组长博客链接 本次作业博客链接 项目Postmortem 模板 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...
- 对聊天室项目的NABCD的分析
NABCD需求分析: 需求(N):我们的项目是制作一个局域网内的聊天室软件,为了解决一个公司或者小团体内小范围的局域的简单通讯问题,我们针对的需求是简单与安全. 做法(A):用Java来实现一个C/S ...
- Homework 2.0
一.第一题,要求是输入不同的字符的时候输出不同的结果,这道题主要是运用输入和输出语言还有判断语句,分别使用switch和if else来进行输入字符的判断,本体比较简单,注意定义输入变量的类型为cha ...
- Java 作业6
我总算,又双叒叕拾起了Java,啊! 1.编写一个JApplet程序,包含一个JLabel对象,并显示用户的姓名. package experiment; import java.awt.Border ...
- python 安装scrapy need vistual c++ 14.0 的正面解法
为什么一堆教程里面,都是侧面的. 因为需要你自己去正面刚 正题: 这个问题要的是 build tools 人(控制台)说的很清楚了, 给的链接不是直接解决问题的链接(我安装了 vs_redis.exe ...
- 《JavaScript Dom 编程艺术》读书笔记-第7章
动态创建标记~内容包括: 1. 传统技术:document.write 和innerHTML 2. 深入剖析DOM方法:createElemen.createTextNode.appendChild和 ...
- s21day06 python笔记
s21day06 python笔记 一.昨日内容回顾及补充 回顾 补充 列表独有功能 reverse:反转 v = [1,2,3,4,5] v.reverse() #[5,4,3,2,1] sort: ...