sqlserver系统函数

1. nullif() 
    两个特定的参数的值如果是相同的,则返回null,否则返回第一个值:
  select nullif('a','b')  = 'a'
  select nullif('a','a')  = null

2. NEWID()  生成GUID

   SELECT NEWID() =  '84249A2B-2A1D-4C89-BC92-2E8A028D5BB3'

3.COALESCE()函数


   coalesce返回它的参数中第一个非空表达式
  select coalesce(null,null,9,8,1,6,7)=9
   使用三行代码杀掉数据库中的所有事务语句如下:
 DECLARE @SQL VARCHAR(8000)
SELECT @SQL=COALESCE(@SQL,'')+'Kill '+CAST(spid AS VARCHAR(10))+ '; '
FROM sys.sysprocesses
WHERE DBID=DB_ID('AdventureWorks')
PRINT @SQL --EXEC(@SQL) Replace the print statement with exec to execute
4.rollup 子句
   对列表的第一列进行小计和总计计算的最简单方法,在假想例子中,除计算每个唯一的列值的总和以外,还需计算ID1列中的A和B行的总和

SELECT name,sex,sum(old) FROM test
GROUP BY name,sex
WITH rollup

fanfenghua man67
fanfenghua NULL67
lanyuzhen man 10
lanyuzhen woman23
lanyuzhen NULL33
NULL NULL 100
 
5. 错误函数
         begin try
select 5/0
 end try
 
 begin catch
 print error_message()
 end catch    --(0 行受影响) 遇到以零作除数错误。





SQL Server 提供了许多内置的系统函数,这些函数用于处理数据库的各种任务,包括数据转换、日期和时间操作、字符串函数、数学计算以及与系统信息相关的功能。系统函数可以帮助开发者更方便地编写查询,而无需直接访问底层数据。 以下是一些常见的 SQL Server 系统函数类别: 1. **日期和时间函数**:如 `GETDATE()` 获取当前日期和时间,`DATEDIFF()` 计算两个日期之间的差值,`CONVERT()` 进行日期类型转换等。 2. **数学和逻辑函数**:如 `ABS()` 返回数值的绝对值,`CASE` 判断表达式的条件并返回相应结果,`COALESCE()` 或 `NULLIF()` 处理 NULL 值。 3. **字符串函数**:`LEN()` 和 `LENB()` 计算字符串长度,`LEFT()` 和 `RIGHT()` 截取子串,`UPPER()` 和 `LOWER()` 转换大小写等。 4. **聚合函数**:`COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()` 分别用于计算数量、总和、平均值、最大值和最小值。 5. **系统信息函数**:`SERVERPROPERTY()` 查询服务器属性,`DB_NAME()` 返回当前数据库名称,`SCHEMA_ID()` 获取对象标识符等。 6. **错误处理函数**:`TRY...CATCH` 用于处理异常情况,`ERROR_NUMBER()` 获取错误号,`ERROR_MESSAGE()` 获取错误信息。 使用这些系统函数时,通常将它们嵌套在 SQL 查询中,以增强查询的功能性和灵活性。请注意,尽管大多数函数在所有版本的 SQL Server 中可用,但某些新功能可能仅支持特定版本或模式。在使用前,请查阅官方文档确认其适用范围。如果你对某个具体函数有疑问,可以直接告诉我,我会进一步解释。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值