• 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”与当前日期之间相差的年份

    */

  • 相关阅读:
    Linux调试工具
    LINUX总结第13篇:LINUX下动态库及版本号控制
    linux虚拟机无法上网 Network is unreachable
    VMware 如何通过现有虚拟机克隆新的虚拟机 (图文)
    Win10下安装虚拟机提示“Intel VT-x处于禁用状态”如何解决
    VMware安装Centos7超详细过程(图文)
    kubernetes---CentOS7安装kubernetes1.11.2图文完整版
    通过Idea进行Kubernetes YAML开发
    如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes
    SpringBoot + Spring Security 基本使用及个性化登录配置详解
  • 原文地址:https://www.cnblogs.com/674001396long/p/9033313.html
Copyright © 2020-2023  润新知