SQL的其他用法

SQL语言的其他用法

 

--求半径2米。高3米的圆柱体体积

select PI()

select SQUARE(2)*PI()*3  '体积'

 

--求字符串‘adsgdajfhwruhwuiriutooqrfiewi’的长度

select len('adsgdajfhwruhwuiriutooqrfiewi')as '长度'

 

--显示pubs数据库中所有作家的au_name的开头两个字目

select LEFT(au_Name,2) from authors--返回字符串左边开始指定个数的字符串、字符、二进制数据表达式,

--前一个参数是字符串的表达式,可以是常量,变量,字段,后面的参数是正整数。表示的是字符串的长度。

 

--,大写显示

select UPPER(LEFT(au_Name,2)) from authors

 

--取字符串'abhdjddlak'的第2到第5个字母

select SUBSTRING('abhdjddlak',2,4)

 

--right()

select right('dadsdsadaf',5)

--计算2001年9月11日到今天已经多少天了

select DATEDIFF(day,'1996-2-4',GETDATE())as'天'

select DATEDIFF(month,'1996-2-4',GETDATE())

select DATEDIFF(year,'1996-2-4',GETDATE())

 

--查看指定字符的ASCII值,输入的语句如下:

/*

ASCII(American Standard Code for Information Interchange,

美国信息互换标准代码)

是基于拉丁字母的一套电脑编码系统。

它主要用于显示现代英语和其他西欧语言。

它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

用于返回字符串表达式中最左侧的字符的ASCII代码值。参数必须是一个char或varchar类型的字符串表达式。

*/

select ASCII('a'),ASCII('sql'),ASCII(1)

 

--将整数类型的ASCII值转换为对应的字符,其数介于0-255之间的整数。如果该整数表达式不在此范围,将返回null值

select CHAR(97),CHAR(255)

 

 

--LEFT()

select left('dh',6)

 

--right()

select right('chkds',4)

 

--ltrim()--去除字符串左边多余的空格,括号内的参数可以是常量,变量,字符串字段或二进制数据列。

select ltrim('   dedew')

select '('+' book   '+')','('+RTRIM(' book   ')+')'--同 理可以试一下rtrim()--去右边的空格

/*

带小数点的近似数字float

表示总长度,包括小数点,符号,数字以及空格,默认值为10

小数后边的位数,必须小于或等于16

*/

select str(3246.56,5,1)

 

--字符串逆序的函数

select REVERSE('asdfgh')

 

--计算字符串长度的函数

--如果字符串中包含前导空格和尾随空格,则函数会将它们包含在技术内

--LEN对相同的单字节和双字节字符串返回相同的值

select LEN('no'),LEN('日期'),LEN(12345678)

 

--匹配字串开始位置的函数

select CHARINDEX('a','banana'),CHARINDEX('a','banana',3)

select SUBSTRING('www.baidu.com',4,1)

select LEN('dah')

select LOWER('RTYUIIOOO')

select UPPER('yuquueuqwi')

--替换函数

select REPLACE('www.baidu.com','w','$')

 

--数学函数

--负数的绝对值为其相反数

select abs(2),abs(-3.3),abs(-33)

select PI()

select sqrt(4)--平方根

select rand(20),rand(20),rand(10)

select round(1.23,1),round(1.23,0),round(1.23,-3),round(1.23,-1)

------- ------

--符号函数sign(X)

--获取整数的函数CEILIN(X)和FLOOR(X)

--幂运算函数POWER(x,y),SQUARE(x)和EXP(x)

--对数运算函数

--角度与弧度相互转换的函数

--正弦函数和反正弦函数

--余弦函数和反余弦函数

--正切函数和反正切函数和余切函数

--文本和图像函数-----------

--数据类型转换函数-------------------------------------------------------------------------------------

select cast('121209' as date),cast(100 as char(3)),

CONVERT(time ,'2012-05-01 12:11:10')

--日期函数和时间函数

--使用日期函数获取系统当前日期

select getdate()

--UTC(世界标准时间)

select GETUTCDATE()

/*

对比getdate()函数的返回值,可以看到,

因为读者位于东8时区,

所以当前系统时间比UTC提前8个小时,

所以这里显示的UTC时间,

需要减去8个小时的时差

*/

--获取天数的函数DAY(d)

select DAY('2010-02-03  01:05:23')--二月份的第三天

--获取月份的函数MONTH()

select MONTH('2010-03-05 03:04:05')

--获取年份的函数YEAR(d)

select YEAR('2010-03-05 03:04:05')

--获取日期中指定部分字符串值的函数DATANAME(dp,d)

select DATENAME(year,'2010-03-05 03:04:05'),--年份值

            DATENAME(WEEKDAY,'2010-03-05 03:04:05'),--星期值

            DATENAME(DAYOFYEAR,'2010-01-05 03:04:05')--一年中的第几天

--获取日期中指定部分的整数值的函数DATEPART(dp,d)

--使用此函数返回日期制定部分的整数值

select DATEPART(year,'2010-03-05 03:04:05'),

            DATEPART(MONTH,'2010-03-05 03:04:05'),

            DATEPART(DAYOFYEAR,'2010-03-05 03:04:05')

--计算日期和时间的函数dateadd()

select DATEADD(YEAR,1,'2010-03-05 03:04:05'),--表示年值增加1

                   dateadd(month,2,'2010-03-05 03:04:05'),--表示月份值增加2

                   dateadd(hour,1,'2010-03-05 03:04:05')--表示时间部分的小时数增加1

----系统函数----------------------------------------------------------------------------------

--返回表中指定字段的长度

use pubs

go

select COL_LENGTH('authors','au_Name')

--返回表中指定字段的名称

select COL_NAME('authors',2)--出现数据类型转换

--改正

--显示pubs数据库中authors表中的第一个字段的名称

select COL_NAME(OBJECT_ID('pubs.dbo.authors'),1)--指定数据库中表的具体名称

--返回数据表达式的数据的实际长度函数--即字节数,其返回值类型是INT NULL的长度为NULL

--datalength()

--查找authors表中au_Age的长度

select DATALENGTH(au_Age) from authors where au_Id=1

--返回数据库的编号

select DB_ID('master'),DB_ID('pubs')--其返回值为smallint类型,如果没有指定数据库名称,则返回的是当前数据库的编号

--返回数据库名称

use master

select DB_NAME(),DB_NAME(DB_ID('pubs'))

--返回当前数据库默认的NULL值

select GETANSINULL('pubs')

--返回服务器端计算机的标识号

select HOST_ID()

--返回服务器端计算机的名称

select HOST_NAME()

--返回数据库对象的编号

select OBJECT_ID('pubs.dbo.authors')

--返回用户的SID(安全标识号)

select SUSER_SID('sa')--0x01

--返回数据库的登录名

select SUSER_NAME(0x01)

--返回数据库对象的名称

--查看pubs数据库中对象ID值为1的对象名称

select OBJECT_NAME(277576027,DB_ID('pubs')),OBJECT_ID('pubs.dbo.authors')

--返回数据库用户的标识号

use pubs

go

select USER_ID()

--返回数据库的用户名

use pubs

go

select USER_NAME() as '数据库的用户名'

作业:

/*使用数学函数进行如下运算

1,计算18除以5的商和余数

2,将弧度值PI()/4转换为角弧度

3,计算9的4次方值

4,保留浮点值3.14159小数点后面两位

使用字符串函数进行如下运算

1,分别计算字符串“hello World!”和“University”的长度

2,从字符串“Nice to meet you!”中获取子字符串“Nice”

3,除去字符串“hello”中的空格

4,将字符串“SQLSERVER”逆序输出

5,在字符串“SQLSERVERSQLSEREVER”中,从第四个字母开始查找字母为“Q”第一次出现的位置。

使用日期函数和时间函数进行如下运算

1,计算当前日期是一年的第几天

2,计算当前日期是一周中的第几个工作日

3,计算“1929-02-14”与当前日期之间相差的年份

*/

猜你喜欢

转载自www.cnblogs.com/674001396long/p/9033313.html