【1】系统时间

--1、获取系统当前时间
select GETDATE()

insert into UserInfos(UserName,[Password],Age)--Password在系统中有保留字,应使用[]转义
values('lily','123456',19);
insert into UserInfos(UserName,[Password],Age,Sex,CreateTime)
values('sherry','456789',21,1,'2020-12-01');
select * from UserInfos;

 【2】别名

--2、起别名(3种)
select userid as 编号,username 姓名,[password] 密码 ,年龄=age
from UserInfos;

 【3】cast()拼接

--3、拼接
--(1)(字符串)字段拼接,数字与字符串不可拼接,数字+数字进行计算
select userid as 编号,(username+[password]) 组合字段 ,年龄=age
from UserInfos;
--(2)数字与字符串拼接,需要进行转换
select cast(userid as varchar)+username 组合字段,[password] 密码 ,年龄=age
from UserInfos;
--(3)中间可以任意加字符
select username + '-'+ [password] 组合字段 ,年龄=age
from UserInfos;

 【4】空值判断

--4、判断空值用is [not]
--判断数值用=
select * from UserInfos;
insert into UserInfos(UserName,Password,Sex)
values('john','123789',0);

select * from UserInfos
where age is null;--不能写成age=null,不是等值判断,而是存在与否的问题

【5】伪列 

--5、查询常量列
select *,'常量列' from UserInfos;
select *,0 as IsVaild from UserInfos;--增加“默认无效”列

SQL SERVER group BY 拼接ID sql server 拼接函数_字符串

SQL SERVER group BY 拼接ID sql server 拼接函数_字符串_02

【6】查询部分条数据

--6、查询2条数据
select top 2 * from UserInfos;
--查询20%条的数据(四舍五入,向上取整)
select top 20 persent * from UserInfos;

【7】字符串函数

函数名

描  述

示  例

CHARINDEX

寻找一个指定的字符串在另一个字符串中的起始位置

SELECT CHARINDEX('JBNS','MyJbns Course',1 )

返回:4

LEN

返回传递给它的字符串长度

SELECT LEN('SQL Server课程')

返回:12

UPPER

把传递给它的字符串转换为大写

SELECT UPPER('sql server课程')

返回:SQL SERVER课程

LTRIM

清除字符左边的空格

SELECT LTRIM ('  周智宇  ')

返回:周智宇  (后面的空格保留)

RTRIM

清除字符右边的空格

SELECT RTRIM ('  周智宇  ')

返回:  周智宇(前面的空格保留)

RIGHT

从字符串右边返回指定数目的字符

SELECT RIGHT('买卖提.吐尔松',3)

返回:吐尔松

REPLACE

替换一个字符串中的字符

SELECT REPLACE('莫乐可切.杨可','','')

返回:莫乐兰切.杨兰

STUFF

在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串

SELECT STUFF('ABCDEFG', 2, 3, '我的音乐我的世界')

返回:A我的音乐我的世界EFG

 

【8】日期函数

函数名

描  述

示  例

GETDATE

取得当前的系统日期

SELECT GETDATE()

返回:今天的日期

DATEADD

将指定的数值添加到指定的日期部分后的日期

SELECT DATEADD(mm,4,'01/01/2009')

返回:以当前的日期格式返回05/01/2009

DATEDIFF

两个日期之间的指定日期部分的间隔

SELECT DATEDIFF(mm, '01/01/2009', '05/01/2009')

返回:4

DATENAME

日期中指定日期部分的字符串形式

SELECT DATENAME(dw, '01/01/2000')

返回:Saturday或星期六

DATEPART

日期中指定日期部分的整数形式

SELECT DATEPART(day, '01/15/2000')

返回:15

select getdate()    本机:自己电脑的时间;远程:别的电脑的时间

01/05/2020  :2020年5月1日

datename(mm,getdate())  获取格式信息(一个字符串):09;datepart(mm,getdate())  获取整数信息(一个数字):9

【9】数学函数

函数名

描  述

示  例

RAND

返回从 0 1 之间的随机 float

SELECT RAND( )

返回:0.79288062146374

ABS

取数值表达式的绝对值

SELECT ABS(-43)

返回:43

CEILING

取大于或等于指定数值、表达式的最小整数

(向上取整)

SELECT CEILING(43.5)

返回:44

FLOOR

取小于或等于指定表达式的最大整数(向下取整)

SELECT FLOOR(43.5)

返回:43

POWER

取数值表达式的幂值

SELECT POWER(5,2)

返回:25

ROUND

将数值表达式四舍五入为指定精度

SELECT ROUND(43.553,1)

返回:43.600

SIGN

对于正数返回+1,对于负数返回-1,对于0则返回0

SELECT SIGN(-43)

返回:-1

SQRT

取浮点表达式的平方根

SELECT SQRT(9)

返回:3

 

select cast(rand()*2 as int);   结果总是0或1

【10】系统函数

函数名

描  述

示  例

CONVERT

用来转变数据类型

SELECT CONVERT (VARCHAR (5)12345)

返回:字符串12345

CURRENT_USER

返回当前用户的名字

SELECT CURRENT_USER

返回:你登录的用户名

DATALENGTH

返回用于指定表达式的字

SELECT DATALENGTH ('中国A联盟')

返回:9

HOST_NAME

返回当前用户所登录的计算机名字

SELECT HOST_NAME()

返回:你所登录的计算机的名字

SYSTEM_USER

返回当前所登录的用户名称

SELECT SYSTEM_USER

返回:你当前所登录的用户名

USER_NAME

从给定的用户ID返回用户名

SELECT USER_NAME(1)

返回:从任意数据库中返回“dbo

--convert(要转换成的类型,字段名,格式)
--其中“格式”可以上网搜“sql server convert格式”,能搜到很全
--101:表示“月/日/年”
select UserId,UserName,convert(varchar,CreateTime,101) as Createtime
from UserInfos;

sql server convert格式:https://www.w3school.com.cn/sql/func_convert.asp

[dbo]代表当前登录对象