51Aspx 源码服务专家 社区资讯
技术文章

小袁SQL Server学习(四)——函数的使用

1、字符串函数 (1)Charindex :查找字符串中指定字符的下标,如果未找到,则返回 0 例如: select charindex('海淀','北京市海淀区') 查找下标 输出结果为 4 (2)left :从左边开始,取得字符串左边指定个数的字符 例如: select left('abcdefghi',5) as left 获取 (3)right :从右边开始,取得字符串右边指定个数的字符 例如: select right('abcdefghi',5) as right 获取 (4)replace  : 替换 例如:用i替换Ming select replace('123MingMing','Ming','i') as 替换结果 -- 案例: 用 * 替换 骂人的话 select replace('你是菜鸡','菜鸡','**') 结果为:“你是**” (5)reverse  :字符串反转输出 select reverse('abcdefg') 反转输出结果 (6)str :如果字符串中有带小数点的字符,则输出对应的结果 select str('123.45') 输出无小数, str('123.45',5,1) 输出1位小数, str('123.45',6,2) 输出 2 个小数 (7)substring :截取字符串,第二个参数表示开始截取的位置,第3个参数表示截取的长度 select substring('abcdefg',1,3) 截取 2、日期函数 (1)getdate() :获取当前系统时间 select getDate() 时间 (2)day() 获取天,month() 获取月,year() 获取年 select day(getDate()),month('2022-03-24'),year(getDate()) (3)datediff() :计算两个时间之间的间隔 select datediff(year,'2003-5-20',getDate()) 年龄, datediff(month,'2003-5-20',getDate()) 月份 (4)  dateadd() : 添加之后返回一个新的日期 select DATEADD(month,2,GETDATE()) 新的日期 select DATEADD(year,3,GETDATE()) 新的日期 (5)dateadd(datepart,number,date)
  • datepart:指定要与数值相加的日期部分的参数
  • number:用于与datepart相加的值。该值必须是分析表达式时已知的整数值
  • date:返回日期或日期格式的字符串表达式(如果number不为整数值,则将废弃此值的小数部分)
3、数学函数 (1)power:函数对数值表达式进行幂运算,运算结果必须为整数 Select power(2,2) ‘2的平方结果’ (2)RAND:函数返回从0~1之间的随机float值 Select Rand(); (3)ROUND:函数用于把数值字段舍入为指定的小数位数 Select Round(3.1415923,3) 四舍五入 (4)select ceiling(3.14):大于它的最小整数 ,只支持Decimal和double类型 (5)select floor(3.14):小于它的最大整数 (6)使用 Rand函数和Round函数返回0~10之间的随机数 Select round(rand(),1)*10 Select round(rand()*10,0) (7)select ceiling(Rand()*10):1-10之间随机数 (8)ABS:绝对值 Select ABS(-20) 4、转换函数 (1)CAST函数用于将某种数据类型的表达式显示的转换为另一种数据类型。 Select cast(getdate()as nvarchar) Select cast (‘mingrikeji’ as nvarchar(6))as 结果   结果为:MINGRI (2)CONVERT函数与CAST函数的功能相似,该函数不是一个ANSI标准SQL函数,它可以按照指定格式将数据转换为另一种数据类型 Select convert (nvarchar ,getdate (),126)