sql里的函数

简介: ISNULL函数isnull(,) CAST函数cast( as )看例子 Codeselect c.LastName,isnull( cast( ( select min(OrderDate) from Sales.

ISNULL函数
isnull(<要检查的表达式>,<如果为null时替换的值>)

CAST函数
cast(<要转换的表达式> as <转换成的数据类型>)
看例子

Code
select c.LastName,
isnull(
cast(
(
select min(OrderDate)
from Sales.SalesOrderHeader o
where o.ContactID = c.ContactID
)
as varchar),'neverordered') as orderdate
from Person.Contact c

再看一个例子:

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
use AdventureWorks
select 'the order num is' + Cast(SalesOrderID as varcharas xland
from Sales.SalesOrderHeader
where CustomerID = 5

 

CONVERT函数
convert(数据类型,表达式[,格式])
这个函数和cast类似,我们先看cast的一个例子

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
use AdventureWorks
select OrderDate, Cast(OrderDate as varcharas Converd
from Sales.SalesOrderHeader
where CustomerID = 5

再看convert的例子

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
use AdventureWorks
select OrderDate, convert(varchar(12), OrderDate,111as Converd
from Sales.SalesOrderHeader
where CustomerID = 5

这里对日期的格式做了限制
具体这么限制要查convert的微软帮助文件

EXISTS函数
先看例子
返回数据是否存在的布尔变量

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
use AdventureWorks
select e.EmployeeID,FirstName,LastName
from HumanResources.Employee e
join Person.Contact c
on e.ContactID = c.ContactID
where exists
(
    
select EmployeeID from HumanResources.JobCandidate jc
    
where jc.EmployeeID = e.EmployeeID
)

这个例子也可以完成相同的功能

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
use AdventureWorks
select distinct e.EmployeeID ,FirstName,LastName
from HumanResources.Employee e
join Person.Contact c
    
on e.ContactID = c.ContactID
join HumanResources.JobCandidate jc
    
on jc.EmployeeID = e.EmployeeID

第一个例子比第二个例子在性能上要好很多
第三个用exists的例子

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
use master
go 
if not exists (select 'True' From sys.databases where name = 'xland')
begin
   
create database xland
end 
else
begin
    
print 'xland is exist'
end 
go

 在这里将看到if else和begin end的用法

FLOOR
获取提供的值,把他取整到最近的整数上

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
declare @myval int;
set @myval = 3.6;
set @myval = @myval * 4.8;
select floor(@myval)+.9 as mycoloumn


COALESCE
coalesce哪个不为空用哪个 

COALESCE (i.ProductID,d.ProductID)

 
@@Datefirst
系统认为星期几是一周的第几天,返回这个数字

@@Error
返回错误号,没有错误返回0

@@cursor_rows
返回游标中的行数

@@fetch_status
返回最后一个游标fetch操作状态的指示值
0成功
-1失败,超过了游标的尾
-2失败,当前记录被删除,发生在滚动游标和动态游标上

@@identity
返回当前连接创建的最后一行记录的标志

@@rowcount
返回上一条语句影响的行数

目录
相关文章
|
5月前
|
SQL 数据库
SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示
SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别。以下是它们的用法和示例:
158 0
|
6天前
T-sql 高级查询( 5*函数 联接 分组 子查询)
T-sql 高级查询( 5*函数 联接 分组 子查询)
|
1月前
|
SQL 关系型数据库 MySQL
MYSQL数字函数实操宝典:场景化SQL语句一网打尽
本文作为MYSQL数字函数实操宝典,通过丰富的场景化SQL语句实例,一网打尽了MYSQL中常用的数字函数。我们深入探讨了ROUND函数在金额四舍五入、评分计算等场景的应用,展现了其在确保数据准确性和展示规范性方面的重要性。同时,FLOOR函数在分页处理、价格计算等实际案例中的灵活运用,也体现了其在向下取整方面的优势。此外,CEIL函数在分页处理、费用计算等方面的应用案例,充分展示了其向上取整的功能特点。这些实用案例不仅有助于读者更好地理解MYSQL数字函数的工作原理,更为开发者在实际开发中提供了有价值的参考
46 8
|
2月前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数
|
2月前
|
SQL 存储 Apache
在 Apache Flink SQL 中,并没有内置的 GROUP_CONCAT 函数
【2月更文挑战第16天】在 Apache Flink SQL 中,并没有内置的 GROUP_CONCAT 函数
212 2
|
3月前
|
SQL 存储
SQL Server基本函数
SQL Server基本函数
|
3月前
|
SQL 安全 关系型数据库
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
38 0
|
4月前
|
SQL Perl
PL/SQL的函数和包
PL/SQL的函数和包
28 1