SQL Server中的小技巧(重复替换截取去空格去小数点后的位数)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中的小技巧(重复替换截取去空格去小数点后的位数)相关的知识,希望对你有一定的参考价值。

PS:随笔写的在SQL Server中要用到的 (重复、替换、截取、去空格、去小数点后的位数)

/*---------------------------重复--------------------------------*/

--重复字符串 返回【abc#abc#abc#】
select replicate(abc#, 3);

/*---------------------------替换--------------------------------*/

--替换字符串 将e替换成E 返回【abcEdEf】
--replace(‘字符串‘, ‘替换前的文字‘, ‘替换后的文字‘)
select replace(abcedef, e, E);

--指定位置替换字符串  返回【heABCworld】
--stuff(‘字符串‘, 从哪里开始替换, 替换几位, ‘要替换的字符‘)
select stuff(hello world, 3, 4, ABC);



/*----------------------------截取--------------------------------*/

--截取字符串 返回【a    ,ab    ,Wrold】
--subString(‘字符串‘, 从哪里开始截取, 截取几位)
select subString(abc, 1, 1), subString(abc, 1, 2), subString(hello Wrold, 7, 5);

--取左边字符串  返回【left,leftStr】
--left(‘字符串‘, 从左边开始取几位)
select left(leftString, 4);
select left(leftString, 7);

--取右边字符串  返回【String,ing】
--right(‘字符串‘, 从右边开始取几位)
select right(leftString, 6);
select right(leftString, 3);


/*---------------------------去空格----------------------------------*/

--去掉左边空格
select ltrim( abc), ltrim(# abc#), ltrim(  abc);

--去掉右边空格
select rtrim( abc    ), rtrim(# abc#   ), rtrim(abc);



/*-------------------------去小数点后的位数----------------------------*/


--用函数ROUND(数值,s) ,其中s 表示小数位数
SELECT ROUND(4.994,2) --返回4.990

--用函数CAST(数值as numeric(n,s)),其中n表示有效数字位数,s表示小数位数
SELECT CAST(4.994 as numeric(10,2))--搜索返回4.99

--用函数CONVERT(numeric(n,s),数值),其中n表示有效数字位数,s表示小数位数
SELECT CONVERT(numeric(10,2),4.9852222)-- 返回4.99

 

以上是关于SQL Server中的小技巧(重复替换截取去空格去小数点后的位数)的主要内容,如果未能解决你的问题,请参考以下文章

为啥从sqlserver里读出的字符串末尾含空格?

SQL SERVER 字符串截取

在sql server 中,如何去掉字符串的头尾回车换行,中间的回车换行不去掉?

sql server截取某个特定字符前的字符串

SQL Server字符串函数(超实用)

sqlserver中去掉空格的函数是社么