zoukankan      html  css  js  c++  java
  • SQL server 基本函数(一)

    1. isnull()函数

    作用:使用指定的替换值替换 NULL

    语法:isnull(check_expression,replacement_value)

    参数:check_expression可以是任何类型的。

    rereplacement_value在 check_expression为 NULL时将返回的表达式。replacement_value必须与 check_expression具有相同的类型。

    返回类型

    返回与 check_expression 相同的类型。

    注释

    如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。

    例:将 table表中的所有书的书名、类型及价格显示出来。如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00。

    select bookname,type,isnull(price,0.00) as Price

    from table

    2. Datediff()函数

    作用:返回两个日期之间的天数。

    语法:Datediff(datepart,startdate,enddate)

    参数:datepart 表示相隔时间的类型 (如:yy,mm,dd,week,hh……)

    startdate,enddate 为合法的日期表达式

    返回值:返回值与datepart相对应。

    例: (1)返回当天的记录

    select * from table where datediff(dd,datetime,getdate())=0 // datetime 为表结构中的列名,类型为时间类型。

    (2) 返回一个周的记录

    select * from table where datediff(week,datetime,getdate())=0

    3. convert()函数

    将某种数据类型的表达式显式转换为另一种数据类型。

    语法:convert(type, expression)  || convert(type, expression,format)

    参数 : type 表达式将转换成的数据类型。

    expression 要转换的表达式。

    format对于将字符串转换为日期或时间数据类型以及相反的转换过程,format是描述要使用的日期格式字符串的样式代码。

    返回类型:

    返回和type相同的类型。

    例:(1)select * from table where id=Convert(varchar(2),substring("abcdefgh",1,2))

    (2) select convert(varchar(10),datetime,21) from table // datetime 为表结构中的列名,类型为时间类型。21为yy-mm-dd格式所对应的值

    4. substring()函数

    返回字符、二进制、文本或图像表达式的一部分

    语法:Substring ( expression, start, length )

    参数:

    expression 字符串、二进制字符串、文本。

    start 指定子字符串的开始位置。

    length 指定子字符串的长度,如果为空,则直到串的尾部。

    返回类型: 与expression类型相同。

    例:返回table表中name属性列中所有字符串的首字母

    select substring(name,1,1) as 首字母 from table

    5. set ANSI_NULLS ON 和 set QUOTED_IDENTIFIER ON
    当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。 SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE。

    当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。

    当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵从 SQL-92 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有不为 XYZ_value 也不为 NULL 的行。

  • 相关阅读:
    等差子序列(sequence)
    威士忌(whiskey)
    图论:2-SAT模板
    poj2723-Get Luffy Out
    acdream1412:2-3 trees 组合数dp
    hdu3849-By Recognizing These Guys, We Find Social Networks Useful:双连通分量
    ZOJ2317-Nice Patterns Strike Back:矩阵快速幂,高精度
    ZOJ3519-Beautiful People:最长上升子序列的变形
    hdu2460-Network:边的双连通分量
    hdu4405:概率dp
  • 原文地址:https://www.cnblogs.com/akwwl/p/2635619.html
Copyright © 2011-2022 走看看