SQLServer内置函数

类型转换函数cast和convert

--cast一般更容易使用,convert的优点是可以格式化日期和数值
select CAST(‘123‘ as int)   -- 123
select CONVERT(int, ‘123‘)  -- 123

select CAST(123.4 as int)   -- 123
select CONVERT(int, 123.4)  -- 123 

select CAST(‘123.4‘ as int) --失败
select CONVERT(int, ‘123.4‘) --失败

select CAST(‘123.4‘ as decimal)  -- 123
select CONVERT(decimal, ‘123.4‘) -- 123 

select CAST(‘123.4‘ as decimal(9,2))  -- 123.40
select CONVERT(decimal(9,2), ‘123.4‘) -- 123.40

declare @Num money
set @Num = 1234.56
select CONVERT(varchar(20), @Num, 0)  -- 1234.56
select CONVERT(varchar(20), @Num, 1)  -- 1,234.56
select CONVERT(varchar(20), @Num, 2)  -- 1234.5600

字符函数

--len()用来计算字符串的长度
select LEN(‘123456‘) --6
select LEN(‘一二三‘) --3
select LEN(‘一23‘) --3

--lower()用来将一个字符串转换为小写,upper()用来将一个字符串转换为大写
select lower(‘ABC‘) --abc
select upper(‘abc‘) --ABC

--ltrim()用来将一个字符串左侧的空格去掉,rtrim()用来将一个字符串右侧的空格去掉
select ltrim(‘     AAA‘) --AAA
select rtrim(‘AAA     ‘) --AAA

--substring(string,start_position,length) 可以从任意位置取任意长度的子字符串
select substring(‘HelloWorld!‘,6,6)   ---World!
--left(string,length) 从左侧开始取子字符串
select left(‘HelloWorld!‘ ,5)  --Hello
--right(string,length)从右侧开始取子字符串
select right(‘HelloWorld!‘ ,6) --World!

--replace(string,要被替换的字符串,替换的字符串)
select replace(‘aaabbbcccdddaaabbbcccddd‘,‘aa‘,‘11‘) --11abbbcccddd11abbbcccddd

--reverse(string_expression)返回字符串值的逆向值
select reverse(‘abc‘) --cba

--删除指定长度的字符,并在指定的起点处插入另一组字符
--stuff(character_expression , start , length ,character_expression)
select stuff(‘aaabbbcccdddaaabbbcccddd‘,4,6,‘222333‘)  --aaa222333dddaaabbbcccddd

--以指定的次数重复字符串值
--replicate(string_expression ,integer_expression)
select replicate(‘123‘,5)  --123123123123123

--返回字符串中指定表达式的开始位置
--charindex(expression1 ,expression2  , start_location )或charindex(expression1 ,expression2 )
--expression1在expression2 中的开始位置
select charindex(‘H‘,‘elloHWorld‘) --5
时间: 2024-10-13 12:34:25

SQLServer内置函数的相关文章

Sqlserver内置函数实现MD5

16位: SELECT substring(sys.fn_sqlvarbasetostr(HashBytes('MD5', '需要加密字符串')),3,16) 32位 SELECT substring(sys.fn_sqlvarbasetostr(HashBytes('MD5','需要加密字符串')),3,32)

SQLServer中DataLength()和Len()两内置函数的区别(转载)

最近工作中遇到了个问题:在数据库中声明字段类型时char(4),但实际只存储了‘DCE’三个字母,程序中拼装以该字段作为key的Map中,会把‘DCE’+空格作为其Key,这样造成用没加空格的‘DCE’为key去取Value的值是取不出来的,结果是空.后来查看数据库字段类型才发现了问题所在.大家都知道,char和varchar的区别就在于一个是固定长度,一个是可变长度.在寻找问题的过程中,用到了我们今天要说的这两个内置函数,DataLength()和Len().在解释DataLength()和L

MyBatis的两个内置函数

MyBatis的两个内置函数 1._parameter 代表整个参数 单个参数,_parameter 就是这个参数 多个参数 会被封装成一个map,_parameter就是代表这个map 例如接口中有一个方法 public List<Employee> getEmpsTestInnerParameter(Employee employee); _parameter就代表employee对象 2._databaseId 如果配置了databaseIdProvider标签, _databaseId

内置函数

内置函数思维导图: 惊喜不断哟~~~~~~~

lambda表达式+python内置函数

传统的定义函数方式如下 def f1(): return 123 lambda表达式定义函数 f2 = lambda : 123 python3的内置函数 1.abs 绝对值 i = abs(-11) print (i) 输出结果是11 abs = absolute 2,all 循环参数,如果每个元素都为真,则返回为真 r = all([True, True]) print (r) 在python中 0 () [] ''和 None是False(空值都是假的) r = all(["123&quo

Oracle中REGEXP_SUBSTR及其它支持正则表达式的内置函数小结

Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合. REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进行正则处理的字符串__pattern :进行匹配的正则表达式,匹配的值将返回,返回策略由__occurrence决定__po

Python中内置函数的介绍

内置函数的功能介绍 常用内置函数如下: 1.abs() 绝对值 格式:abs(x) 例如:print(abs(-18)) >>> 18 返回值:number #该函数主要用于数值类的操作 2.all() 是否都为真 格式:all(iterable) 例如:print(all([1,2,3,])) >>> Ture 返回值:bool #该函数主要用于可迭代对象的操作,主要为列表.元祖.字典和集合.当这些类型的元素中有空字符串.空列表.空元祖.空字典.空集合时,则返回值为F

python函数(6):内置函数和匿名函数

我们学了这么多关于函数的知识基本都是自己定义自己使用,那么我们之前用的一些函数并不是我们自己定义的比如说print(),len(),type()等等,它们是哪来的呢? 一.内置函数 由python内部定义好我们可以直接调用的函数就叫内部函数.python一共给我们68个内置函数: abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() as

函数嵌套 ,名称空间与作用域 ,闭包函数 ,装饰器 ,迭代器, 生成器 三元表达式,列表解析,生成器表达式 递归与二分法, 内置函数

函数嵌套名称空间与作用域闭包函数装饰器迭代器生成器三元表达式,列表解析,生成器表达式递归与二分法内置函数--------------------------------------------函数的嵌套调用:在调用一个函数的过程中,又调用了其他函数函数的嵌套定义:在一个函数的内部,又定义另外一个函数def max(x,y): if x>y: return x else: return ydef max1(a,b,c,d): res=max(a,b) res2=max(res,c) res3=ma