类型转换函数cast和convert
--cast一般更容易使用,convert的优点是可以格式化日期和数值
select CAST('' as int) --
select CONVERT(int, '') -- select CAST(123.4 as int) --
select CONVERT(int, 123.4) -- select CAST('123.4' as int) --失败
select CONVERT(int, '123.4') --失败 select CAST('123.4' as decimal) --
select CONVERT(decimal, '123.4') -- select CAST('123.4' as decimal(,)) -- 123.40
select CONVERT(decimal(,), '123.4') -- 123.40 declare @Num money
set @Num = 1234.56
select CONVERT(varchar(), @Num, ) -- 1234.56
select CONVERT(varchar(), @Num, ) -- ,234.56
select CONVERT(varchar(), @Num, ) -- 1234.5600
字符函数
--len()用来计算字符串的长度
select LEN('') --
select LEN('一二三') --
select LEN('一23') -- --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!',,) ---World!
--left(string,length) 从左侧开始取子字符串
select left('HelloWorld!' ,) --Hello
--right(string,length)从右侧开始取子字符串
select right('HelloWorld!' ,) --World! --replace(string,要被替换的字符串,替换的字符串)
select replace('aaabbbcccdddaaabbbcccddd','aa','') --11abbbcccddd11abbbcccddd --reverse(string_expression)返回字符串值的逆向值
select reverse('abc') --cba --删除指定长度的字符,并在指定的起点处插入另一组字符
--stuff(character_expression , start , length ,character_expression)
select stuff('aaabbbcccdddaaabbbcccddd',,,'') --aaa222333dddaaabbbcccddd --以指定的次数重复字符串值
--replicate(string_expression ,integer_expression)
select replicate('',) -- --返回字符串中指定表达式的开始位置
--charindex(expression1 ,expression2 , start_location )或charindex(expression1 ,expression2 )
--expression1在expression2 中的开始位置
select charindex('H','elloHWorld') --