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

LEFT()与RIGHT()函数相关推荐

  1. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法

    数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...

  2. Mysql函数group_concat、find_in_set 多值分隔字符字段进行数据库字段值翻译

    Mysql函数group_concat.find_in_set进行数据库字段值翻译 场景 配方表:记录包含的原料 sources表示原料,字段值之间用逗号分隔 原料表:对应原料id和原料名称 现需要查 ...

  3. C++ 笔记(34)— C++ exit 函数

    当遇到 main 函数中的 return 语句时,C++ 程序将停止执行.但其他函数结束时,程序并不会停止.程序的控制将返回到函数调用之后的位置.然而,有时候会出现一些非常少见的情况,使得程序有必要在 ...

  4. C++ 笔记(30)— 友元函数与友元类

    我们知道类的私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行.这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦. ...

  5. 浅显易懂 Makefile 入门 (07)— 其它函数(foreach 、if、call、origin )

    1. foreach 函数 foreach 函数定义如下: $(foreach <var>,<list>,<text>) 函数的功能是:把参数 <list&g ...

  6. 浅显易懂 Makefile 入门 (06)— 文件名操作函数(dir、notdir、suffix、basename、addsuffix、addperfix、join、wildcard)

    编写 Makefile 的时候,很多情况下需要对文件名进行操作.例如获取文件的路径,去除文件的路径,取出文件前缀或后缀等等. 注意:下面的每个函数的参数字符串都会被当作或是一个系列的文件名来看待. 1 ...

  7. Go 学习笔记(65)— Go 中函数参数是传值还是传引用

    Go 语言中,函数参数传递采用是值传递的方式.所谓"值传递",就是将实际参数在内存中的表示逐位拷贝到形式参数中.对于像整型.数组.结构体这类类型,它们的内存表示就是它们自身的数据内 ...

  8. Go 学习笔记(61)— Go 高阶函数、函数作为一等公民(函数作为输入参数、返回值、变量)的写法

    函数在 Go 语言中属于"一等公民(First-Class Citizen)"拥有"一等公民"待遇的语法元素可以如下使用 可以存储在变量中: 可以作为参数传递给 ...

  9. C++ 笔记(26)— 主函数 main(int argc, char *argv[]) 参数说明

    带形参的 main 函数,如 int main( int argc, char* argv[], char **env ) 是 UNIX .Linux 以及 Mac OS 操作系统中 C/C++ 的 ...

  10. OpenCV 笔记(09)— 常用的数据结构和函数(Vec、Point、Scalar、Size、Rect、cvtColor)

    1. Vec 对象类型 Vec 是一个主要用于数值向量的模板类.我们可以定义向量的类型和组件的数量: Vec<double, 19> myVector 我们还可以使用任何的预定义类型: t ...

最新文章

  1. 使用uni-app实现使用浏览器下载功能时,安卓端部分机型不兼容问题(小米/华为)
  2. 指令—— 数据绑定指令||数据响应式||双向数据绑定指令
  3. invalid floating point operation什么意思_数据可视化有意思的小例子:Taylor Swift 歌词数据分析和可视化...
  4. android调试是出现:Re-installation failed due to different application signatures
  5. FreeBSD长模式不兼容
  6. DBGridEh使用指南
  7. Linux 文件系统IO性能优化
  8. 【网络信息安全】授权与访问控制
  9. [论文阅读] Cross-level Contrastive Learning and Consistency Constraint for Medical Image Segmentation
  10. ELK下常见启动错误
  11. Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException的解决方案
  12. XMind--思维导图
  13. linux mysql导出表中的数据_MySQL导出指定表中的数据
  14. 关于生物医学工程{血站+软件}的看法
  15. will-change的使用
  16. matlab三元方程拟合,3元函数拟合及结果.docx
  17. data.frame中的NA值怎么替换成0 把na变为0 把na变为想要的数 改变na 是否为na is.na()是否为null is.null() is.null() 删除去掉NA的行
  18. Oracle导入 1T 数据
  19. pytorch训练神经网络loss刚开始下降后来停止下降的原因
  20. 给apk加system权限

热门文章

  1. 2020幂次生长,GMIC开启下一个10年科技新浪潮
  2. linux加载的驱动无法卸载,Linux驱动模块卸载后不能再加载、驱动不能卸载的问题(转)...
  3. Meltdown:Reading Kernel Memory from User Space 论文中英对照
  4. 一文读懂 Traefik v 2.6 企业版新特性
  5. 查看linux下oracle安装位置
  6. 模拟电子技术之学前必备知识点
  7. 人到中年这种茶要多喝,越喝血管越干净!坚持一个月,头晕眼花不再来!
  8. crontab指定时间
  9. 新经济专家陈宗建:山东将是全球新经济主战场山东新旧动能转换专访报道
  10. linux中tftp服务器设置及测试