T-Sql函数简单总结

本文深入探讨SQL中常用的基本函数,包括字符串处理、日期时间操作、数学运算和系统信息获取,通过具体示例展示了如何在数据库查询中灵活运用这些功能。
----字符串函数------ 1.charIndex:用来寻找一个指定的字符串在另一个字符串中的起始位置,示例:select charIndex('ACCP','My Accp Course',1) 返回:4 2.Len:返回传递给它的字符串长度,示例:select len('SQL Server课程') 返回:12 3.Upper:把传递给他的字符串长度转化为大写,示例select upper('sql server 课程') 返回:SQL SERVER课程 4.Ltrim:清除字符左边的空格,示例: select ltrim(' 周至于 ') 返回:周至于 (后面的空格保留) 4.Rtrim:清除字符右边的空格,示例: select ltrim(' 周至于 ') 返回: 周至于(前面的空格保留) 5.Right:从字符串右边返回指定数目的字符,示例:select right('买卖提.徒儿送',3) 返回:徒儿送 6.Replace:替换一个字符串中的字符,示例:select replace('莫尔可切.杨可','可',' 兰') 返回:莫尔兰切.杨兰 7.Stuff:在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串,示例:select stuff('ABCDEFG',2,3,'我的音乐我的世界') 返回:A我的音乐我的世界EFG ---日期函数--- 1.GetDate:取得当前的系统日期,示例:select getDate() 返回:今天的日期 2.DateAdd:将指定的数值添加到指定的日期部分后的日期,示例:select dateAdd(mm,4,'01/01/99') 返回: 以当前的日期格式返回05/01/99 3.DateDiff:两个日期之间的指定日期部分的区别,示例:select dateDiff(mm,'01/01/99','05/01/99') 返回:4 4.DateName:日期中指定日期部分的字符串形式,示例:select dateName(dw,'01/01/2000') 返回:Saturday 5.DatePart:日期中指定日期部分的整数形式,示例:select datePart(day,'01/15/2000') 返回:15 --数学函数-- 1.Abs:取数值表达式的绝对值,示例:select abs(-43) 返回:43 2.Ceiling:取大于或等于指定数值,表达式的最小整数,示例:select ceiling(43.5) 返回:44 3.Floor:取小于或等于指定数值,表达式的最大整数,示例:select floor(43.5) 返回:45 4.Power:取数值表达式的冥值,示例:select power(5,2) 返回:25 5.Round:将数值表达式四舍五入为指定精度,示例:select round(43.543,1) 返回:43.5 6.Sign:对于正数返回+1,对于负数返回-1,对于0则返回0,示例:select sign(-43) 返回:-1 7.Sprt: 取浮点表达式的平方根, 示例:select sprt(9) 返回:3 --系统函数-- 1.Convert:用户转化数据类型,示例:select convert(varchar(5),12345) 返回:字符串12345 2.Current_User:返回当前用户的名字,示例 :select current_User 返回:你登录的用户名 3.DataLength:返回用于指定表达式的字节数,示例:select dataLength('中国A联盟') 返回:10 4.Host_Name:返回当前用户所登录的计算机名,示例:select host_Name() 返回:你所登录的计算机名 5.System_User:返回当前所登录的用户名称,示例:select system_User 返回:你当前所登录的用户名 6.User_Name:从给定的用户ID返回用户名,示例:select user_Name(1) 返回:从任意数据库中返回"dbo" 示例更新用户卡信息 卡里面的“O和0”(哦和零),“i和1”(哎和一),混乱了现把所有“O(哦)”都改成“0(零)”, 把所有的“i(哎)”都改成“1” 表明:card 字段:passWord。 update card set passWord=replace(passWord,'O','0') update card set passWord=replace(passWord,'i','1') 或者 update card set passWord=replace(replace(passWord,'O','0'),'i','1') 示例特殊排序 有以下字符数据13-1,13-2,13-3,13-10,13-100,13-108,13-18,13-11,13-15,14-1,14-2 想排序成13-1,13-2,13-3,13-10,13-11,13-15,13-18,13-100,13-108,14-1,14-2 表名:sellrecord,字段名:listNumber 1.先找到'-'符号的位置,然后取左边半部分,最后使用Convert()函数将其转化为数字 Convert(int,left(listNumber,charIndex('-',listNumber)-1)) 2.后半部分的数字,可以先找到'-'符号的位置,然后从第一个位置起到该位置的全部字符替换为空格,然后在强制转化 Convert(int,stuff(listNumber,1,charIndex('-',listNumber),'')) T-SQL语句:select listNumber from sellrecord order by Convert(int,left(listNumber,charIndex('-',listNumber)-1)),Convert(int,stuff(listNumber,1,charIndex('-',listNumber),''))
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值