程序员人生 网站导航

SQL SERVER 常用的字符串函数

栏目:Sqlserver时间:2014-01-07 20:00:37
以下为引用的内容:
SELECT STR(111.5567862)   
SELECT CONVERT(NVARCHAR(10),CONVERT(DECIMAL(6,2),111.55678))
SELECT CONVERT(NVARCHAR(10),CAST(111.55678 AS DECIMAL(6,2)))
-- 结果  111.56   STR,CONVERT,CAST 函数都会对小数点第3位进行四舍五入

SUBSTRING LEFT RIGHT  --函数截取数据库表中的部分信息
SUBSTRING
 
/* 
  ( edition ,start , length )  从edition表达式的第start个字符开始截取length个
  sourceString  资源字符串。
  start :     --子字符串在资源字符串中的起点。如果此值为负数或 0,则只返回那些所在位置大于零的字符。如果此值大于 sourceString 的长度,则返回长度为零的字符串。
  length :    一个正整数,指定要返回的 sourceString 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。
 
*/
 
 
LEFT 
 
/*
 sourceString   资源字符串
 length        一个正整数,指定要返回的 sourceString 从左开始的字符数
 
*/
 
 
RIGHT 
 
/*
  sourceString   资源字符串
  length        一个正整数,指定要返回的 sourceString 从右开始的字符数
 
*/

SELECT SUBSTRING ('sourceString',3,4
SELECT RIGHT(LEFT('sourceString',6),4)
 
--结果  urce
 
-- REPLACE  STUFF   字符串替换函数
--
 Replace函数: 用另一个字符串值替换出现的所有指定字符串值。
--
 语法:
REPLACE
/*
语法:REPLACE ( original , search , replace )
     original,:被搜索的字符串。可为任意长度。。string_expression1 可以是字符或二进制数据类型。
     search   :要搜索并被 replace-string 替换的字符串。该字符串的长度不应超过 255 个字节。如果 search-string 是空字符串,则按原样返回原始字符串。
     replace  :该字符串用于替换 search-string。可为任意长度。如果 replacement-string 是空字符串,则删除出现的所有 search-string。
*/
SELECT REPLACE('edition','tion','aaaa');

--STUFF()函数: 删除指定长度的字符并在指定的位置插入另一组字符串。
/*

   语法:STUFF ( sourceString , start , length , character_expression )
   sourceString :操作的字符,
   start :删除和插入的起始点,
   length:删除的长度,
   character_expression :要插入的字符
*/ 
                      
select stuff('sourceString',2,3,'aaa')      

--结果 saaaceString      
                      
                                      
/*LTRIM RTRIM 函数 字符串去除空格函数*/

--LTRIM 函数删除字符串前面的空格
/*

  语法: LTRIM (sourceString ) 
  sourceString :操作的字符,
*/

SELECT LTRIM('source ');
--RTRIM 函数删除字符串后面的空格
/*

  语法: RTRIM (sourceString ) 
  sourceString :操作的字符,
*/

SELECT RTRIM(' source');
--结果  source

/*REVERSE 字符串反转函数*/
--REVERSE 返回指定字符串的反转. 

SELECT REVERSE('source ')

/*字符串长度函数*/
LEN:
select len(null)            --  返回字符串长度.(忽略串尾空格)  NULL 的 len 的结果是 NULL。

SELECT DATALENGTH('2009-9-1')  -- 返回任何表达式所占用的字节数,  NULL 的 DATALENGTH 的结果是 NULL。

/*字符串大小写函数*/
-- 转换大写
SELECT UPPER('aaa')    -- 转换为大写
SELECT LOWER('AAA')    --转换为小写
SELECT LOWER('aAa')    --全部转换为小写 

select REPLICATE('123','3'--指定次数的字符串
/*
字符串查找函数*/

--函数:第一个参数你要查找的char
--
第二个参数你被查找的字符串 返回参数一在参数二的位置

select SUBSTRING('lihan',charindex('a','lihan'),1)  --result为4

--SELECT PATINDEX('%wonderful%', ')   
--
 PATINDEX 匹配m 开头的字符串 
SELECT PATINDEX('%m%',pnr),OrderID FROM orders 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐