知识大全 SQL SERVER其它函数

Posted 函数

篇首语:忘记你是个女孩,然后像爷们一样去奋斗!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL SERVER其它函数相关的知识,希望对你有一定的参考价值。

SQL SERVER其它函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本篇文章还是学习《程序员的SQL金典》内容的记录 此次将讲解的是SQL SERVER常用的其它函数 (其它数据库这里就不罗列了 想看更多的可以关注《程序员的SQL金典》)

  具体的其他函数包括 类型转换的函数 空值处理的函数 流程控制函数 SQL SERVER独有函数

  类型转换的函数

  CAST ( expression AS data_type)函数         CONVERT ( data_type expression)函数

  上面两个函数都是SQL SERVER提供的支持类型转换的函数 参数expression为待进行类型转换的表达式(即需要待转换的数据) 而data_type为转换的目标类型(即待转换后的类型)

  SELECTCAST(&# ; &# ; AS INTEGER) as i CONVERT(DECIMAL &# ; &# ;) as d CONVERT(DATETIME &# ; : : &# ;) as dt

  空值处理的函数

  COALESCE ( expression value value …… valuen)函数 处理空值问题的函数 返回包括expression在内的所有参数中的第一个非空表达式 其中expression为待检测的表达式 而其后的参数个数不固定 可以多个 如果expression不为空值则返回expression 否则判断value 是否为空 如果不为空值则返回value 否则判断value 是否为空 如果不为空值则返回value ……以此类推 如果COALESCE函数里的参数全为NULL就会出错了 因为COALESCE函数的功能其实就是为了避免出现不想要的NULL值

  SELECT FName FBirthDay FRegDay COALESCE(FBirthDay FRegDay &# ; &# ;) AS ImportDayFROM T_Person

  ISNULL(expression value)函数 这个函数也是空值处理的函数 是COALESCE( )函数的简化版 只支持两个参数 其中expression为待检测的表达式 如果expression不为空值则返回expression 否则判断value是否为空 如果不为空值则返回value 如果都为空 则返回空

  SELECT FBirthDay FRegDay ISNULL(FBirthDay FRegDay) AS ImportDayFROM T_Person

  NULLIF ( expression expression )函数 这个函数也是空值处理的函数 主要是判断两个表达式是否等价 如果等价 则返回空 如果不等价 侧返回第一个expression 的值 需要注意的意 第一个表达式expression 不能为空

  SELECT FBirthDay FRegDay NULLIF(FBirthDay FRegDay)FROM T_Person

  流程控制函数

  SQL SERVER提供了流程控制函数 类似于我们代码里面的的SWITCH……CASE语句 那就是CASE函数 这个函数有如下两种运用方法

  CASE函数的语法如下

  用法一:

  CASE expression WHEN value THEN returnvalue WHEN value THEN returnvalue WHEN value THEN returnvalue …… ELSE defaultreturnvalue END

  CASE函数对表达式expression进行测试 如果expression等于value 则返回returnvalue 如果expression等于value 则返回returnvalue expression等于value 则返回returnvalue ……以此类推 如果不符合所有的WHEN条件 则返回默认值defaultreturnvalue

  SELECT FName (CASE FName WHEN Tom THEN GoodBoy WHEN Lily THEN GoodGirl WHEN Sam THEN BadBoy WHEN Kerry THEN BadGirl ELSE Normal END) as isgood FROM T_Person

  用法二

  CASE WHEN condition THEN returnvalue WHEN condition THEN returnvalue WHEN condition THEN returnvalue …… ELSE defaultreturnvalue END

  其中的condition condition condition ……为条件表达式 CASE函数对各个表达式从前向后进行测试 如果条件condition 为真则返回returnvalue 否则如果条件condition 为真则返回returnvalue 否则如果条件condition 为真则返回returnvalue ……以此类推 如果不符合所有的WHEN条件 则返回默认值defaultreturnvalue

  SELECT FName FWeight (CASE WHEN FWeight< THEN thin WHEN FWeight> THEN fat ELSE ok END) as isnormal FROM T_Person

  SQL SERVER独有函数

  PATINDEX ( &# ;%pattern%&# ; expression )函数 不同于CHARINDEX()函数 只能计算字符串中指定表达式的开始位置 PATINDEX ( &# ;%pattern%&# ; expression )函数提供了更加灵活的方式 它返回指定表达式中模式&# ;%pattern%&# ;第一次出现的起始位置 如果在全部有效的文本和字符数据类型中没有找到该模式 则返回零 在模式中可以使用通配符

  SELECT FName PATINDEX(&# ;%_m%&# ; FName)FROM T_Person

  REPLICATE (str count)函数 用来得到一个由子字符串重复了若干次所组成的字符串 其中参数str为子字符串 而count为重复次数 (其实就是一个复制函数)

  SELECT FName FWeight CAST(FWeight/ AS INT) REPLICATE(FName CAST(FWeight/ AS INT))FROM T_Person

  REVERSE(expression)函数 将一个字符串的顺序颠倒

  SELECT FName REVERSE(FName)FROM T_Person

  ISDATE(expression)函数 用来确定输入表达式是否为有效日期 如果输入表达式是有效日期 那么ISDATE 返回 否则 返回 expression参数为要验证其是否为日期的表达式 expression可以是text ntext 表达式和image 表达式以外的任意表达式 可以隐式转换为nvarchar

  SELECT ISDATE(NULL) as d ISDATE( / / ) as d ISDATE( a ) as d ISDATE( ) as d ISDATE( / / ) as d ISDATE( ) as d ISDATE( ) as d ISDATE( Abc ) as d

  ISNUMERIC ( expression )函数 用来确定表达式是否为有效的数值类型 如果输入表达式的计算值为有效的整数 浮点数 money 或decimal 类型时 ISNUMERIC 返回 否则返回

cha138/Article/program/SQL/201405/30848

相关参考

知识大全 SQL Server 7.0 函数及SQL语句相关问题

SQLServer7.0函数及SQL语句相关问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 SQL Server时间函数用法详解

SQLServer时间函数用法详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL中的时间

知识大全 使用 SQL Server创建语言辅助函数

使用SQLServer创建语言辅助函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在现在这样

知识大全 Sql Server 2005自定义Split函数

SqlServer2005自定义Split函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  要

知识大全 如何模拟SQL Server的两个日期处理函数

如何模拟SQLServer的两个日期处理函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  //

知识大全 SQL Server和Oracle的常用函数对比

SQLServer和Oracle的常用函数对比  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数

知识大全 在SQL Server数据库中拆分字符串函数

在SQLServer数据库中拆分字符串函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL

知识大全 SQL Server里函数的两种用法(可以代替游标)

SQLServer里函数的两种用法(可以代替游标)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 讲解SQL Server数据库中函数的使用方法

讲解SQLServer数据库中函数的使用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文

知识大全 如何用SQL SERVER 2005连接SQL SERVER 2008

如何用SQLSERVER2005连接SQLSERVER2008  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来