小袁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)

给TA打赏
共{{data.count}}人
人已打赏
SQL Server

小袁SQL Server学习(三)——SELECT定制查询

2022-7-27 15:39:04

SQL Server

小袁SQL Server学习(五)——聚合函数和分组查询

2022-7-28 11:14:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索