• T-SQL(4)-功能函数(芮)


    SQL Server中的函数
    •          字符串函数
    •          日期函数
    •          数学函数
    •          系统函数
    这些都相当于C语言中的内部函数,我们来一个一个看:
    字符串函数
     
    日期函数
    SELECT DATEPART(day, '01/15/2000')
    返回:15
    日期中指定日期部分的整数形式 DATEPART SELECT GETDATE() 返回:今天的日期 取得当前的系统日期 GETDATE 举例 描述 函数名 SELECT DATEADD(mm,4,’01/01/99’) 返回:以当前的日期格式返回05/01/99 将指定的数值添加到指定的日期部分后的日期 DATEADD SELECT DATEDIFF(mm,‘07/01/99’,‘11/01/99’) 返回:4 两个日期之间的指定日期部分的区别 DATEDIFF SELECT DATENAME(dw,'01/01/2000') 返回:Saturday 日期中指定日期部分的字符串形式 DATENAME 数学函数 SELECT SQRT(9) 返回:3
    取浮点表达式的平方根 Sqrt SELECT ABS(-43) 返回:43 取数值表达式的绝对值 ABS 举例 描述 函数名 SELECT CEILING(43.5) 返回:44 返回大于或等于所给数字表达式的最小整数 CEILING SELECT POWER(5,2) 返回:25 取数值表达式的幂值 POWER SELECT ROUND(43.543,1) 返回:43.5 将数值表达式四舍五入为指定精度 ROUND SELECT SIGN(-43) 返回:-1 对于正数返回+1,对于负数返回-1,对于0 则返回0 Sign SELECT FLOOR(43.5) 返回:43 取小于或等于指定表达式的最大整数 FLOOR 系统函数 SELECT USER_NAME(1) 返回:从任意数据库中返回“dbo”


    从给定的用户I D返回用户名
    USER_NAME SELECT CONVERT (VARCHAR (5),12345) 返回:字符串12345 用来转变数据类型 CONVERT 举例 描述 函数名 SELECT CURRENT_USER 返回:你登录的用户名 返回当前用户的名字 CURRENT_USER SELECT DATALENGTH ('中国A盟') 返回:7 返回用于指定表达式的字节数 DATALENGTH SELECT HOST_NAME() 返回:你所登录的计算机的名字 返回当前用户所登录的计算机名字 HOST_NAME SELECT SYSTEM_USER 返回:你当前所登录的用户名 返回当前所登录的用户名称 SYSTEM_USER 案例分析1—要求 • 某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题: 卡里面的“O和0”(哦和零)“i和1”(哎和一),用户反映说看不清楚,公司决定,把存储在数据库中的密码中所有的“哦”都改成“零”,把所有的“i”都改成“1”; 请编写SQL语句实现以上要求; • 数据库表名:Card;密码字段名:PassWord; 案例分析1—分析 • 这是更新语句,需要使用UPDATE语句; • 因为牵涉到字符串的替换,需要使用到SQL Server中的函数Replace; 案例分析1—T-SQL 两行SQL语句 Update Card Set PassWord = Replace(PassWord,'O','0') Update Card Set PassWord = Replace(PassWord,'i','1') 一行SQL语句 Update Card Set PassWord = Replace(Replace(PassWord,'O','0'),'i','1') 案例分析2—要求 • 在数据库表中有以下字符数据,如: 13-113-213-313-1013-10013-10813-1813-1113-1514-114-2 现在希望通过SQL语句进行排序,并且首先要按照前半部分的数字进行排序,然后再按照后半部分的数字进行排需,输出要排成这样: 13-113-213-313-1013-1113-1513-1813-10013-10814-114-2 • 数据库表名:SellRecord;字段名:ListNumber; 案例分析2—分析 • 这是查询语句,需要使用SELECT语句 • 需要使用到ORDER BY进行排序,并且在ORDER BY的排序列中,也需要重新计算出排序的数字来 • 前半部分的数字,可以从先找到“-”符号的位置,然后,取其左半部分,最后再使用Convert函数将其转换为数字: Convert(int, Left(ListNumber, CharIndex('-', ListNumber)-1)) • 后半部分的数字,可以先找到“-”符号的位置,然后把从第一个位置到该位置的全部字符替换为空格,最后再使用Convert函数将其转换为数字: 案例分析2—T-SQL Convert(int, Stuff(ListNumber,1, Charindex('-', ListNumber), '')) SELECT ListNumber FROM SellRecord ORDER BY Convert(int, Left(ListNumber, CharIndex('-', ListNumber)-1)), Convert(int, Stuff(ListNumber,1, Charindex('-', ListNumber), '')) 当然,还有其他的计算出排序列的方法,大家可以自己思考一下。
  • 相关阅读:
    【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十一:SDRAM模块④ — 页读写 β
    【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十:SDRAM模块③ — 页读写 α
    【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十九:SDRAM模块② — 多字读写
    【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写
    【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十七:IIC储存模块
    【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十六:IIC储存模块
    APP安全测试用例梳理
    【python的练习题】:1-100奇数求和(涉及匿名函数filter lambda 的使用)
    反编译 AndroidManifest.xml文件(APP安全测试)
    Android app数据存储的安全测试
  • 原文地址:https://www.cnblogs.com/ruishuang208/p/4095291.html
Copyright © 2020-2023  润新知