`

SQL Server 2000 函数学习

阅读更多

系统函数:

select host_id() host_id, convert(char(13),host_name()) host_name,
suser_id() 'suser_id()', user_id() 'user_id',
convert(char(3),user_name(1)) user_name, convert(char(3),user) 'user',
db_id('master') 'db_id(''master'')', convert(char(9),db_name(2)) 'db_name(2)',
datalength('aaaaaa') 'datalength(''aaaaaaa'')',
datalength(3245) 'datalength(3245)', datalength(getdate()) 'datalength(getdate())';

结果:

host_idhost_namesuser_id() user_id user_name user db_id('master') db_name(2)

3960WWW-ELEAF-ORG NULL 1 dbo dbo 1 tempdb

datalength('aaaaaaa') datalength(3245) datalength(getdate())
6 4 8

(所影响的行数为 1 行)

日期函数datename():

declare @var datetime;
select @var = getdate();
select datename(yy,@var) year ,datename(mm,@var) month, datename(dd,@var) day,
datename(hh, @var) hour, datename(mi, @var) minute, datename(ss, @var) second,
datename(ms, @var) millisecond,datename(qq, @var) quarter,
datename(dy, @var) dayOfyear, datename(wk, @var) week,datename(dw, @var) weekday;

结果:

yearmonthdayhourminutesecondmillisecondquarterdayOfyearweekweekday

200503 8 186 38 217 1 67 11 星期二

(所影响的行数为 1 行)

日期函数datepart():

declare @var datetime;
select @var = getdate();
select datepart(yy,@var) year ,datepart(mm,@var) month, datepart(dd,@var) day,
datepart(hh, @var) hour, datepart(mi, @var) minute, datepart(ss, @var) second,
datepart(ms, @var) millisecond,datepart(qq, @var) quarter,
datepart(dy, @var) dayOfyear, datepart(wk, @var) week,datepart(dw, @var) weekday;

结果:

yearmonthdayhourminutesecondmillisecond quarterdayOfyearweekweekday

200538181138250 167113

(所影响的行数为 1 行)

日期函数dateadd():

select dateadd(yy, 30, getdate()) '30年后', dateadd(mm, 30, getdate()) '30个月后';

结果:

30年后 30个月后
2035-03-08 18:18:04.6872007-09-08 18:18:04.687

(所影响的行数为 1 行)

转换函数convert():

declare @var datetime
select @var = getdate();
select convert(int, @var) int, convert(varchar(20), @var) varchar, convert(money, @var) money,
convert(real, @var) real, convert(float, @var) float, convert(numeric, @var) numeric,
convert(binary, @var) binary, convert(timestamp, @var) timestamp,
convert(decimal, @var) decimal, convert(bit, @var) bit;

结果:

int varchar money real float numeric
38418038 20056:39PM38417.777738417.77738417.77768425925838418

binary

0x000000000000000000000000000000000000000000000000961101339488

timestamp decimal bit

0x0000961101339488 384181

(所影响的行数为 1 行)

用convert()函数进行日期格式转换:

declare @var datetime;
select @var = getdate();
select convert(char(11),@var,107) '107', convert(char(9), @var, 7) '7',
convert(char(8),@var,108) '108', convert(char(23), @var, 121) '121',
convert(char(19), @var, 120) '120', convert(char(19), @var, 20) '20';

结果:

107 7 108 121 120 20
----------- --------- -------- ----------------------- ------------------- -------------------
03 09, 2005 03 09, 05 00:41:06 2005-03-09 00:41:06.310 2005-03-09 00:41:06 2005-03-09 00:41:06

(所影响的行数为 1 行)

IsNull()函数:

declare @var int;
select @var = null;
select isNull(@var, 123); //因为@var为空值,所以返回第二个参数。
select @var = 456;
select isNull(@var, 123); //因为@var不为空,所以返回它本身。

结果:


-----------
123

(所影响的行数为 1 行)


-----------
456

(所影响的行数为 1 行)

NullIf()函数:

declare @var int;
select @var = 15;
select nullIf(@var, 15); //因为两个参数值相同,所以返回空值。
select nullIf(@var, 16); //因为两个参数值不同,所以返回第一个参数本身。

结果:


-----------
NULL

(所影响的行数为 1 行)


-----------
15

(所影响的行数为 1 行)

CoalEsce()函数:返回列表中第一个不为空的值。(可以用来过滤空值)

declare @a int, @b int, @c int
select @a = null, @b = null, @c = 13;
select coalesce(@a, @b, @c);
select coalesce(null, 15, null);

结果:


-----------
13

(所影响的行数为 1 行)


-----------
15

(所影响的行数为 1 行)

字符串函数:

declare @a char(15);
select @a = 'bitanstudio2004';
select datalength(@a) datalength, substring(@a, 1, 5) substring,
convert(char(4),(right(@a, 4))) 'right', convert(char(15), upper(@a)) 'upper',
'a' + space(3) + 'b' space, replicate('ab',3) replicate;


select convert(char(12), stuff(@a, 1, 5, '**')) stuff,
convert(char(15), reverse(@a)) reverse,
convert(char(2), ltrim(' ab')) ltrim , convert(char(2),ascii('abcd')) ascii,
convert(char(1), char(67)) char, convert(char(4), str(135.0)) str;

结果:

datalength substring right upper space replicate
----------- ---------- ----- --------------- ----- ---------
15 bitan 2004 BITANSTUDIO2004 a b ababab

(所影响的行数为 1 行)

stuff reverse ltrim ascii char str
------------ --------------- ----- ----- ---- ----
**studio2004 4002oidutsnatib ab 97 C

(所影响的行数为 1 行)

soundex()函数:

select soundex('bitan') bitan, soundex('biitaan') biitaan,
soundex('bicaname') bicaname, soundex('biqaname') biqaname;

结果:

bitan biitaan bicaname biqaname
----- ------- -------- --------
B526 B526 B526 B562

(所影响的行数为 1 行)

difference()函数:

select difference('bitan', 'biqan') 'bitan-biqan',
difference('bitan', 'beetane') 'bitan-beetane',
difference('bitan', 'apple') 'bitan-apple',
difference('bitan', 'biitaan') 'bitan-biitaan';

结果:

bitan-biqan bitan-beetane bitan-apple bitan-biitaan
----------- ------------- ----------- -------------
3 3 0 4

(所影响的行数为 1 行)

charindex()函数:

declare @var char(20), @var2 char(5);
select @var = 'bbaaaaabbaaaaaab', @var2 = null;
select charindex('aaa', @var, 2), charindex('bb', @var, 3),
charindex('baa', @var), charindex(@var2, @var, 3);

结果:


----------- ----------- ----------- -----------
3 8 2 NULL

(所影响的行数为 1 行)

patindex()函数:(使用正则表达式)

declare @var char(30);
select @var = 'bitanstudionowisopen';
select patindex('%tan%', @var) 'tan', patindex('%_s%', @var) '_s',
patindex('%t[a-g]n%', @var) 't[a-g]n', patindex('%o[^a-g]e%', @var) 'o[^a-g]e',
patindex('%t[aeiou]n%', @var) 't[aeiou]n', patindex('%t%n%', @var) 't%n';

结果:

tan _s t[a-g]n o[^a-g]e t[aeiou]n t%n
----------- ----------- ----------- ----------- ----------- -----------
3 5 3 17 3 3

(所影响的行数为 1 行)

数学函数:

select rtrim(power(2,5)) 'power(2,5)', convert(char(5),
(power(2.00,5))) 'power(2.00,5)', abs(-1) 'abs(-1)',
ceiling(2.5) 'ceiling(2.5)', convert(char(6),degrees(2 * pi())) 'degrees(2 * pi())', floor(3.5) 'floor(3.5)';
select convert(int,rand() * 10) 'rand() * 10',
convert(int, rand(5) * 10) 'rand(5) * 10';
select round(pi(), 0) 'round(pi(), 0)';
select round(pi(), 5) 'round(pi(), 5)';
select round(pi(), 1) 'round(pi(), 1)',sign(-59) 'sign(-59)',sqrt(1.44) 'sqrt(1.44)';
select sqrt(-52) 'sqrt(-52)';

结果:

power(2,5) power(2.00,5) abs(-1) ceiling(2.5) degrees(2 * pi()) floor(3.5)
------------ ------------- ----------- ------------ ----------------- ----------
32 32.00 1 3 360 3

(所影响的行数为 1 行)

rand() * 10 rand(5) * 10
----------- ------------
4 7

(所影响的行数为 1 行)

round(pi(), 0)
---------------------
3.0

(所影响的行数为 1 行)

round(pi(), 5)
---------------------
3.1415899999999999

(所影响的行数为 1 行)

round(pi(), 1) sign(-59) sqrt(1.44)
----------------------------------------------------- ----------- -------------
3.1000000000000001 -1 1.2

(所影响的行数为 1 行)

发生域错误。
sqrt(-52)
-----------------------------------------------------

分享到:
评论

相关推荐

    SQL Server2000函数大全

    在SQL Server 2000中,函数是执行特定计算或操作的重要组成部分,它们能够帮助数据库管理员和开发人员处理和转换数据。...通过深入学习和实践,您将能够充分利用SQL Server 2000提供的函数功能,实现高效的数据管理。

    SQLServer2000函数大全<绝对经典>

    这个"SQLServer2000函数大全"资源对于熟悉和精通SQL Server 2000的函数使用至关重要,无论你是初学者还是经验丰富的开发者,都能从中受益。通过深入学习和实践,你可以更加熟练地进行数据查询、处理和分析,提升...

    SQLServer2000常用函数大全(经典)

    在SQL Server 2000中,函数是执行特定计算或操作的重要工具,它们极大地丰富了SQL语言的功能,使得数据库管理、数据查询和...所以,这个“SQLServer2000常用函数大全(经典)”的资源对于学习和提升SQL技能是非常宝贵的。

    SQLServer2000常用函数大全

    本资源“SQLServer2000常用函数大全”显然是一份全面的参考指南,涵盖了多个章节,包括第01章至第15章,可能涉及的数据处理范围广泛。 1. **第01章**:可能涵盖了基础的数学函数,如ABS(取绝对值)、SQRT(平方根...

    Sqlserver 自定义函数 Function使用介绍

    SQL Server中的自定义函数是数据库开发中非常重要的组成部分,它们允许开发者创建自定义的逻辑,以便在查询中重用和简化复杂操作。本篇主要关注SQL Server 2008中的三种自定义函数:标量函数、内联表值函数和多语句...

    sqlserver snowflake 函数

    使用c# 编写的 sqlserver udf 雪花函数 编译环境为 .net framework 4.5 目标数据库为 sqlserver2012 实际可以在 sqlserver2012-2019 上发布使用 注: 1. 需要开启多个实例权限 2. 需要开启单数据库信任 3. 该程序...

    SQLServer2000常用函数大全及个人收藏

    SQLServer2000常用函数大全及个人收藏SQLServer2000常用函数大全及个人收藏SQLServer2000常用函数大全及个人收藏SQLServer2000常用函数大全及个人收藏SQLServer2000常用函数大全及个人收藏SQLServer2000常用函数大全...

    SQLServer2000常用函数大全.rar

    总之,"SQLServer2000常用函数大全"这个资源是学习和提升SQL Server 2000操作技能的重要参考资料,它包含了数据库管理中不可或缺的工具,对于SQL开发者和数据库管理员而言,理解和掌握这些函数将极大地提高工作效率...

    sqlserver时间函数

    时间函数,sqlserver,标签系统标签系统标签系统标签系统

    sqlserver中常用函数

    ### SQL Server 中常用函数详解 在SQL Server中,掌握常用函数是进行高效数据库操作的关键。本文将详细介绍SQL Server中的一些重要函数,特别是字符串处理相关的函数,帮助读者更好地理解和运用这些功能强大的工具...

    sql server 2000 函数 希望有用 分享是真理!·

    在SQL Server 2000中,函数是用于执行特定计算或操作的预定义过程,它们...在《SQLServer2000常用函数大全(经典)》这份资料中,你应该能找到更多关于这些函数的详细解释和示例,帮助你进一步巩固和扩展这方面的知识。

    sql server 2000关于函数的运用

    关于sql server2000里函数的运用

    sqlserver2000函数大全.rar

    总结,"sqlserver2000函数大全"涵盖了SQL Server 2000中大量的函数用法,对数据库管理员、开发人员和学习者来说是一份宝贵的参考资料。通过深入学习和实践这些函数,可以有效提升SQL查询的效率和灵活性,更好地管理...

    sqlserver2000日期函数处理大全

    在学习和使用SQL Server 2000的日期函数时,理解每个函数的作用以及它们如何相互配合是非常重要的。此外,随着SQL Server版本的更新,新的日期和时间函数也不断出现,例如在SQL Server 2005及以后的版本中,新增了...

    SQLServer2000常用函数大全(经典).chm

    通过学习"SQLServer 2000常用函数大全(经典).chm",用户可以提升在SQL Server 2000环境下的数据库管理技能,解决实际问题,提高工作效率。这份文档详细地介绍了各种函数的使用方法、语法和示例,是SQL Server 2000...

    sql server 自定义函数

    ### SQL Server 用户自定义函数详解 #### 一、概述 在SQL Server中,用户自定义函数(User-Defined Functions, UDFs)允许开发者创建能够执行特定任务并返回结果的自定义逻辑。这些函数不仅可以增强SQL Server的功能...

Global site tag (gtag.js) - Google Analytics