LEFT()与RIGHT()函数

LEFT()与RIGHT()函数是相似的,它们都返回一定长度的子字符串。这两个函数的区别是,它们返回的分别是字符串的不同部分。LEFT()函数返回字符串最左边的字符,顺序从左数到右。RIGHT()函数正好相反,它从最右边的字符开始,以从右到左的顺序返回特定数量的字符。看一看使用这两个函数返回"GeorgeWashington"这个字符串的子字符串的例子。

如果使用LEFT()函数返回一个5字符的子字符串,则函数先定位最左边的字符,向右数5个字符,然后返回这个子字符串,如下所示。

 
 
  1. DECLARE @FullName varchar(25)  
  2. SET @FullName = 'George Washington' 
  3. SELECT LEFT(@FullName, 5) 

如果使用RIGHT()函数返回一个5字符的子字符串,则函数先定位最右边的字符,向左数5个字符,然后返回这个子字符串,如下所示。

 
 
  1. DECLARE @FullName varchar(25)  
  2. SET @FullName = 'George Washington' 
  3. SELECT RIGHT (@FullName, 5) 

要想返回字符串中有意义的部分,这两个函数都不是特别有用。如果想返回全名中的姓氏或者名字,该怎么办?这需要多做一点工作。如果能确定每个姓名中空格的位置,就可以使用LEFT()函数在全名中读取名字。在这种情况下,可以使用CHARINDEX()或者PATINDEX()函数来定位空格,然后使用LEFT()函数返回空格前的字符。下面是第一个用过程方法编写的例子,它将处理过程分解成以下步骤:

 
 
  1. DECLARE @FullName varchar(25), @SpaceIndex tinyint  
  2. SET @FullName = 'George Washington' 
  3. -- Get index of the delimiting space:  
  4. SET @SpaceIndex = CHARINDEX(' ' , @FullName)  
  5. -- Return all characters to the left of the space:  
  6. SELECT LEFT(@FullName, @SpaceIndex -  1) 

如果不想在结果中包含空格,就需要从@SpaceIndex值中减去1,这样结果中就只有名字了。

 

 

我们在网站开发中,在商品、个人简历等列表中并不显示完整的描述,只是其中的一部分(完整的描述只在详细页中显示)。在T-SQL中,获取字符串第一个字符的函数是LEFT,在提取完整描述的一部分后,用操作符“+”在尾部添加“...”;
    下面的SELECT查询返回所有描述的前15个字符,然后添加“...”;
    以Northwind数据库为例,代码示例如下: 

SELECT  LEFT(ProductName, 15) + '...' AS 'Short ProductName'
FROM  Products
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值