Sql Server字符串函数

字符串函数用于对字符和二进制字符进行各种操作

1.ASCII()函数

 ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值。参数character_expression必须是一个char或varchar类型的字符串表达式。
 eg: select ASCII('s'),ASCII('sql'),ASCII('1');
执行结果如图:
字符's'的ASCII值为115,所以第一行和第二行返回结果相同,对于第三条语句中的纯数字的字符串,可以不用单引号括起来。

 

2.CHAR()函数

 CHAR(integer_expression)函数将整数类型的ASCII值转换为对应的字符,integer_expression是一个介于0~255之间的整数。如果该整数表达式不在此范围内,将返回null值。
eg: select CHAR(115),CHAR(49);
可以看到,这里返回的值与ASCII函数的返回值正好相反.

3.LEFT()函数

  LEFT(character_expression,integer_expression)函数返回字符串左边开始指定个数的字符串、字符或者二进制数据表达式。character_expression是字符串表达式,可以是常量,变量或字段。integer_expression为整数,指定character_expression将返回的字符数。 
eg: select LEFT('football',4);
 函数返回字符串“football”左边开始的长度为4的子字符串,结果为“foot”,可见索引从1开始。

4.RIGHT()函数

 与LEFT()函数相反,RIGHT(character_expression,integer_expression)返回字符串character_expression最右边integer_expression个字符。
eg: select RIGHT('football',4);
 函数返回字符窜"football"右边开始的长度为4的字符串,结果为“ball”,索引也是从1开始的。

5.LTRIM()函数

  LTRIM(character_expression)用于除去字符串左边多余的空格,字符数据表达式character_expression是一个字符串表达式,可以是常量,变量,也可以是字符字段或者二进制数据列。
eg: select '(' + ' book ' + ')', '(' +LTRIM( ' book ') + ')';
 对比两个值,LTRIM只删除字符串左边的空格,右边的空格不会被删除.

6.RTRIM()函数

  RTRIM(character_expression)用于除去字符串右边多余的空格,字符数据表达式character_expression是一个字符串表达式,可以是常量,变量,也可以是字符字段或者二进制数据列。
eg:  select '(' +' book ' +')','(' +RTRIM(' book ') +')';
 对比两个值,LTRIM只删除字符串右边的空格,左边的空格不会被删除.

7.STR()函数

 STR(float_expression [ , length [ , decimal ] ])函数用于将数值数据转换为字符数据。float_expression是一个带有小数点的近似数字(float)数据类型的表达式。length表示总长度。它包括小数点、符号、数字以及空格,默认值为10。decimal指定小数点后的位数,decimal必须小于或等于16。如果decimal大于16,则会截断结果,使其保持小数点后有16为。
eg: select STR(3141.59,6,1),STR(123.45,2,2)
 第一条语句6个数字和一个小数点组成的数值3141.59转换为长度为6的字符串,数字的小数部分舍入为1个小数位,第二条语句中的表达式超出指定的总长度时,返回的字符串为指定长度的两个**。

8.字符串逆序的函数REVERSE()

 REVERSE(s)将字符串s反转,返回的字符串的顺序和s的顺序相反。
 eg: select REVERSE('abc');
 由结果可以看到,字符串“abc”经过REVERSE函数处理后,所有的字符串顺序被反转,结果为“cba”;

9.计算字符串的长度函数LEN(str)

 返回字符表达式中的字符数。如果字符串中包含前导空格和尾随空格,则函数将它们包含在内。LEN对相同的单字节和双字节字符串返回相同的值。
eg: select LEN('no'),LEN('日期'),LEN(12345);
 可以看到,LEN函数在对待英文字符和汉字字符时,返回的字符串长度是相同的,一个汉字也算作一个字符。LEN函数在处理纯数字也将其当作字符串,但是纯数字可以不实用引号.

10.匹配字符串开始位置的函数CHARINDEX(str1,str,[start])

 CHARINDEX(str1,str,[start])函数返回子字符串str1在字符串str中的开始位置,start为搜索的开始位置,如果指定start参数,则从指定位置开始搜索;如果不指定start参数或者指定为0或者负值,则从字符串开始位置搜索。
 eg: select CHARINDEX('a','banana'),CHARINDEX('a','banana',4), CHARINDEX('na','banana', 4);

 CHARINDEX('a','banana')返回字符串'banana'中子字符串‘a’ 第一次出现的位置,结果为2;
 CHARINDEX('a','banana',4)返回字符串'banana'中从第4个位置开始子字符串‘a’的位置,结果为4;
 CHARINDEX('na','banana', 4)返回从第4个位置开始子字符串‘na’第一次出现的位置,结果为5

11.SUBSTRING()函数

 SUBSTRING(value_expression,start_expression,length_expression)函数返回字符表达式,二进制表达式,文本表达式或图像表达式的一部分。
 value_expression是character、binary、text、ntext或image表达式。
 start_expression指定返回字符的起始位置的整数或表达式。如果start_expression小于0,或生成错误并终止语句。如果 start_expression大于值表达式的字符数,将返回一个零长度的表达式。
 length_expression是正整数或指定要返回的value_expression的字符数表达式。如果length_expression是负数,会生成错误并终止语句,如果start_expression与length_expression的总和大于value_expression中的字符数,则返回整个值表达式。
eg: select SUBSTRING ('breakfast'1,5), SUBSTRING('breakfast' , LEN('breakfast')/2, LEN('breakfast'));
 第一条语句返回从第一个位置开始长度为5的字符串,结果为"break",第二条语句返回整个字符串的后半段字符串,结果为"akfast"

12.LOWER()

 LOWER(character_expression)将大写字符数据转换为小写字符数据后返回字符表达式。character_expression是指定要进行转换的字符串。
eg: select LOWER('BEAUTIFUL'),LOWER('Well');
由结果可以看到,经过LOWER()函数转换之后,大写字母都变成小写了,小写字母保持不变.

13.UPPER()函数

 UPPER(character_expression)将小写字符数据转换为大写字符数据后返回字符表达式。character_expression指定要进行转换的字符串。
eg: select UPPER('black'),UPPER('Black');
 由结果可以看到,经过UPPER函数转换后,小写字母都变成了大写,大写字母保持不变。

14.替换函数REPLACE(s,s1,s2)

 REPLACE(s,s1,s2)使用字符串s2替代字符串s中的s1.
 eg: select REPLACE('xxx.sqlserver2012.com','x','w');
 EPLACE('xxx.sqlserver2012.com','x','w')将"xxx.sqlserver2012.com"字符串中的'x'替换为'w'字符,结果为"www.sqlserver2012.com";

转载于:https://www.cnblogs.com/haobadea/p/4462044.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 编辑器vim配置

1、 基本配置 对vim进行配置的目的: 进行vim配置,可以让我们在后续敲代码更加方便。按F5可以直接编译并执行C、C代码以及执行shell脚本;按“F8”可进行C、C代码的调试;“Ctrl A”为全选并复制快捷键,方便复…

Java从入门到精通——数据库篇Mongo DB GridFS文件系统

一、概述GridFS是MongoDB的一种存储机制,用来存储大型二进制文件。优点:1.使用GridFS能够简化你的栈。如果已经在使用MongoDB,那么可以使用GridFS来代替独立的文件存储工具2.GridFS会自动平衡已有的复制或者为MongoDB设置的自动分片&#xff…

centos 7上ambari安装试用

2019独角兽企业重金招聘Python工程师标准>>> 1、有三台centos7,名字分别是ws11.localdomain, ws12.localdomain, ws13.localdomain。配置epel源(安装epel-release)。 2、配置root用户ssh无密码访问。 3、安装ntp对时服务。 4、关闭防火墙。centos7下使…

进程管理—进程描述符(task_struct)

本文章转载自:http://blog.csdn.net/qq_26768741/article/details/54348586?locationNum4&fps1 前言 当把一个程序加载到内存当中,此时,这个时候就有了进程,关于进程,有一个相关的叫做进程控制块(PCB&…

如何使用emacs编写c语言程序,并编译运行

vi和emacs被分别被称为编辑器之神和神之编辑器。vi的入门精通都很难,emacs入门容易,精通难;vi使用起来不停地切换模式,而emacs则不停地ctrl,meta等组合键。因此,高德纳大师说操作Emacs,就像弹奏…

jQuery 鼠标滚轮插件应用 mousewheel

jQuery Mousewheel Plugin,用于添加跨浏览器的鼠标滚轮支持。 mousewheel事件的处理函数有一点小小的变化,它除了第一个参数event 外,还接收到第二个参数delta。 通过参数delta可以获取鼠标滚轮的方向和速度。 如果delta的值是负的即-1,那么滚…

操作系统中常见的进程调度算法

一、调度与调度算法 调度:操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这…

大规模快速发展

Jez Humble在 GOTO Berlin 2015会议上讨论了限制大规模快速发展的组织障碍,并提到了如何解决这些障碍。InfoQ对他进行了采访,主要关于我们如何专注于价值而不是成本,为什么对工件的共识非常的有价值,当你不知道客户需要的特性时就…

粘滞位 File文件内容

t权限(粘滞位): 是‘不可删除’权限,就是说即使某用户拥有这个文件的rwx权限,可以随意修改文件内容,但是就是不能删除,甚至不能修改文件名,只有root才行。t权限也可以直接用 chmod ot/at fil…

hdu 3864 素数分解

题意&#xff1a;求n是否只有4个因子&#xff0c;如果是就输出除1外的所有因子。 模板题&#xff0c;就不排版了 1 #include<cstdio>2 #include<iostream>3 #include<algorithm>4 #include<cstring>5 #include<cmath>6 #include<queue>7 #…

QQuickRenderControl

2019独角兽企业重金招聘Python工程师标准>>> http://doc.qt.io/qt-5/qquickrendercontrol.html http://translate.google.com.hk/translate?hlzh-CN&slauto&tlen&uhttp%3A%2F%2Fhabrahabr.ru%2Fpost%2F247477%2F http://www.kdab.com/overview-qt3d-2-…

线程的控制(创建、等待、终止)、分离线程

一、线程控制 1、线程&#xff1a;线程是资源调度的基本单位&#xff0c;线程是进程内部的一个执行流&#xff0c;在进程的地址空间内运行。在Linux 下没有真正意义上的线程&#xff0c;线程是用进程模拟的&#xff0c;又被称为轻量级进程。 2、由于同⼀一进程的多个线程共享同…

从netty-example分析Netty组件

分析netty从源码开始 准备工作&#xff1a; 1.下载源代码&#xff1a;https://github.com/netty/netty.git 我下载的版本为4.1 2. eclipse导入maven工程。 netty提供了一个netty-example工程&#xff0c; 分类如下&#xff1a; Fundamental Echo ‐ the very basic client and …

$GLOBALS -- 变量

可以在$GLOBALS中获得所有的变量 $GLOBALS天然就是一个有很多内容的变量 $_SERVER $jackson "Example content";$_GET[A] A;$_GET[B] B; 于是乎 就有了 $GLOBALS[A]$GLOBALS[B]$GLOBALS[jackson]转载于:https://www.cnblogs.com/qinqiu/p/4475836.html

背景图片适应屏幕百分百

<!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1" /><title>背景图片大小</title> </head><style>body{margin: 0;…

20150504-日报

1、Delphi中的存储过程 参数 数据类型Delphi7中的使用存储过程的话&#xff0c;加入要获取输入参数的话&#xff0c;一般都是通过这样的方式&#xff1a;with spDelRights do begin if Active then Close; Parameters.Clear; Parameters.Refresh; Parameters.ParamByName(usern…

cep

cep posted on 2015-12-16 17:03 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/ruiy/p/5051673.html

BZOJ-1036 [ZJOI2008]树的统计

树链剖分模版题。 #include <cstdlib> #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <cctype> #include <cmath> #define rep(i, l, r) for(int il; i<r; i) #define clr(x, c) mem…

malloc/free 和 new/delete的联系和区别

一、malloc/free 1、 函数原型&#xff1a;void* malloc(longNumBytes) 该函数分配了NumBytes个字节&#xff0c;并返回了只想这块空间的的指针。如果分配失败则返回空。 函数原型&#xff1a;Void free(void *firstBytes) 该函数是将之前用malloc分配的内存空间释放&#…

RHCS集群原理概述

一、 什么是RHCSRHCS是Red Hat Cluster Suite的缩写&#xff0c;也就是红帽集群套件&#xff0c;RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合&#xff0c;它将集群系统中三大集群架构融合一体&#xff0c;可以给web应用、数据库应用等提…