类型转换函数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