五、数据库函数

一、字符串函数
字符串函数作用于char、varchar、binary和varbinary数据类型以及可以隐式转换为char或varchar的数据类型,可以用在SQL语句的表达式中

replace替换字符串函数

  --语法:
  REPLACE(character_expression,searchstring,replacementstring)

reverse函数按相反顺序返回字符表达式。

-语法
  REVERSE(character_expression)

substring函数
substring函数用于返回字符表达式、二进制表达式、文本表达式或图像表达式的一部分

-语法
  SUBSTRING(value_expression,start_expression,length_expression)

二、时间函数
getdate函数:
GETDATE函数返回系统的当前日期。GETDATE函数没有参数

GETDATE()--语法

day函数
DAY函数返回一个整数,表示日期的“日”部分。

DAY(date)

month函数
ONTH函数返回一个整数,表示日期的“月”部分。

MONTH(date)

year函数
YEAR函数返回一个整数,表示日期的“年”部分。

YEAR(date)

dateadd函数
DATEADD函数将表示日期或时间间隔的数值与日期中指定的日期部分相加后,返回一个新的日期值。语法格式如下:

DATEADD(datepart,number,date

三、数学函数
数学函数的参数默认被解释为双精度浮点数,返回值是6位小数。
power函数
POWER函数对数值表达式进行幂运算,运算结果必须为整数。

POWER(numeric_expression,power)

rand函数
如果未指定seed,则Microsoft SQL Server数据库引擎随机分配种子值。对于指定的种子值,返回的结果始终相同

RAND([seed])

round函数
ROUND函数用于把数值字段舍入为指定的小数位数。

ROUND(numberic_expression,length, [ , function ])

四、转换函数
当遇到类型转换的问题时,可以使用SQL Server所提供的CAST和CONVERT函数,这两种函数不但可以将指定的数据类型转换为另一种数据类型,还可以用来获得各种特殊的数据格式

·两种类型的转换:

1,隐性转换:SQL Server自动处理某些数据类型的转换,这种转换不必使用CAST函数。

例如,select 1+’1’的结果是2,SQL Server自动将字符”1“转换为数字1。

例如,s elect ‘当前日期是:’+getdate().day(),SQL Server自动将时间/日期类型转换为字符。

2,显示转换:显示转换是使用CAST和CONVERT函数将数值从一种数据类型(局部变量、列或其他表达式)转换到另一种数据类型。

一)CAST函数

CAST函数用于将某种数据类型的表达式显示的转换为另一种数据类型

CAST(expression as data_type)

二)CONVERT函数
CONVERT函数与CAST函数的功能相似。该函数不是一个ANSI标准SQL函数,它可以按照指定格式将数据转换为另一种数据类型。

CONVERT(data_type[(length)],expression[,style])

五、本章代码:

一)字符串函数:

Replace(str, searchstring, replacecementstring):

将字符串str中所有子串为searchstring的替换成replacementstring字符串

--将含有‘工程师’的字段替换成‘设计师’
  Select replace(rankName,
  ‘工程师’, ‘设计师’) from rank【部分】
  Update rank set
  rankName = replace(rankName, ‘工程师’, ‘设计师’)【全部】

Reverse(str):表示字符串str逆序

  Select reverse(rankName) from rank
  --将数字字符串转化为数字,其中的6:表示数字的总长度;2:表示小数点后的位数(四舍五入)
  Select str(123.46, 6, 2)

Substring(str.pos.len):截取字符串
截取原始字符串str中从pos开始的len长度字符串

Select substring(‘中国湖北省武汉市东湖高新区’, 6, 3)

Charindex(substr, str):返回字符串substr在字符串str开始出现的位置,如果没有发现子串,则返回0

  Select charindex(‘武汉市’, ‘中国湖北省武汉市东湖高新区’)
  --结果是:6

二)时间函数:

 --获得当前的系统时间
  Select getDate()
  --获得当前时间的日、月、年
  Select day(getDate()),
  month(getDate()), year(getDate())
  --从1997年到现在年份的年间隔
  Select datediff(year,1997-7-1, getDate()) 年间隔
  --将上述语句中的year‘ 改为month/day,分别获得月间隔和日间隔
  --当前年份的后两年(如果需要表达月和日,修改关键字’year’为对应单词)
  Select dateadd(year,
  2, getDate()) 后两年
  Select dateadd(year,
  -2, getDate()) 前两年

三)数学函数:

--取绝对值
  Select abs(-3.5)
  --取幂值
  Select power(3,
  2)-答案:9
  --取随机数
  Select rand(100),
  rand(100), rand() --括号里的100:随机种子(数字固定)
  --四舍五入
  Select round(123.456,
  2) --2:表示小数点后的位数(精度)
 

四)转换函数:

 --隐式转换:将字符的‘2’转换为数字的2
  Select 1+2’ –答案:3
  --显示转换:(cast)将表达式expression转换成data_type数据类型
  Select ‘当前时间:’ + cast(getdate() as nvarchar(20))
   --(convert)将表达式expression转换成data_type数据类型
  Select ‘当前时间:’ + convert(nvarchar(20), getdate())

六、总结

  • 熟练掌握各个常用字符串的用法
  • 熟练掌握各个常用时间函数的用法
  • 熟练掌握随机数和四舍五入函数用法
  • 熟练掌握SQL Server类型转换函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值