SQL Server 支持两种字符数据类型---常规和Unicode;常规类型包括char 和varchar;unicode包括nchar 和nvarchar。常规的每个字符占用一个字节存储,而unicode数据类型每个字符占用2个字节,并且需要一个代理项对时需要4个字节。如果为列选择了常规字符类型,会被限制除英文外只能使用一种语言。使用unicode数据类型可以支持多种语言。如果需要存储多种语言的字符数据,应该使用unicode字符类型。

-- 1、字符串连接 使用“+”运算符

select empid,firstname + ' ' + lastname as fullname from HR.Employees

-- 连接null的结果直接输出null

select custid,country,region,city, country +' ' +region +' ' +city as location from sales.Customers

-- 2、substring函数 substring(string,start,length)此处需要注意sql的开始位置是从1开始的; substring函数可以从字符串中提取一个新的字符串

select SUBSTRING('abcd',1,2) --返回ab

select SUBSTRING('abcd',1,6) --如果长度超出字符串长度不报错,而是输出到字符串的最后一位

-- 3、left 和right 函数;这两个函数是substring的简化形式,可以从指定字符串的左边或者右边返回指定长度的新字符串 left(string,n) right(string,n)

select LEFT('abcd',1) --返回a

select RIGHT('abcd',2) --返回cd

-- 4、len和datalength函数;len函数返回指定字符串的长度;datalength返回指定字符串的字节长度;

-- 在常规数据类型中每个字符需要一个字节存储,所以两个函数返回值是一样的;
-- unicode字符,每个字符需要两个存储字节(大部分情况下)

select LEN('abcd') --返回4

select DATALENGTH('abcd') --返回4

select DATALENGTH(N'abcd') --返回8

-- 5、charindex函数;返回子字符串在字符串中第一次出现的位置

select charindex('abc','xyzabcdefabc') --返回4

-- 可以选择第三个参数 指定开始查找的位置

select charindex('abc','xyzabcdefabc',5) --返回10

-- 6、patindex函数;这个函数和sql中的like谓词类似

select PATINDEX('%1%','abcd1234abcd') --返回5

-- 7、replace(string,str1,str2)函数;在字符串中使用str2替换string中所有的str1;

select REPLACE('abcd1234abcd','a','#')

-- 该函数另外一个用法;计算某个字符在字符串中出现的次数

select len('abcde')- len(replace('abcde','a','')) --a在字符串中出现1次

select len('abcdeabcd')- len(replace('abcdeabcd','a','')) -- a在字符串中出现2次

-- 8、replicate函数;按照指定的次数重复出现一个字符串

select REPLICATE('abc#',3)

-- 实际应用 供应商编号固定位10位,不足10位在前面补0

select supplierid,RIGHT(REPLICATE('0',9) + cast(supplierid as varchar(10)),10) as strsupplierid from Production.Products

-- 9、stuff函数;允许从字符串中移除指定数量的字符串,并插入一个替代的新子字符串

-- stuff(string,index,delete_length,indertstring)
select STUFF('abc',1,2,'12345') --返回12345c

select STUFF('abcd',4,1,'123') -- 返回abc123

-- 10、upper和lower函数;返回大写和小写字符串

select UPPER('abCD') --返回‘ABCD’

select LOWER('abCD') --返回‘abcd’

-- 11、ltrim、rtrim函数去掉左边或者右边的空字符串
select LTRIM(' abc ') --返回'abc '

select Rtrim(' abc ') --返回' abc'

-- 12、Format函数;将输入的值按照指定格式返回 -注意这个函数只有在SQL Server2012以上才可以使用
-- 例8中返回指定长度的字符串可以用format很简单的完成
select FORMAT('123','0000000000')

select FORMAT(getdate(),'YYYY-MM-DD')

Sql Server 字符串操作总结的更多相关文章

  1. sql server 字符串替换函数REPLACE

    sql server 字符串替换函数REPLACE函数的使用 <pre name="code" class="sql">--参数1:需要替换字符的母 ...

  2. sql server字符串的类型

    sql server字符串分为不同的类型,下面就将为您介绍几个sql server字符串的常见类型,希望对您学习sql server字符串能有所帮助. nchar 此数据类型可存储1~4000个定长U ...

  3. [转]SQL Server字符串处理函数大全

    select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不 ...

  4. C++对MS SQL Server的操作

    今天因为在做一份C++的期末作业,突然想用C++来链接数据库,实现数据的重复利用,所以就作死去百度搜了一下. 更巧的事情是,一搜居然还有很多搜索结果,然后就照着做了. 做的过程很艰辛,就不一一诉说了, ...

  5. SQL SERVER字符串函数

    本篇文章还是学习<程序员的SQL金典>内容的记录,此次将讲解的是SQL SERVER的字符串函数. 其实数据库跟程序语言库一样,都会集成很多可以使用的API.这些API,如果你熟悉的话,将 ...

  6. SQL Server 文件操作

    在master数据库中,SQL Server提供系统扩展的存储过程,其中有一些存储过程的命名以xp_开头,用于处理操作系统的文件. 一,判断文件是否存在 存储过程sys.xp_fileexist 用于 ...

  7. 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句

    本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...

  8. sql server C#操作。原文在收藏页面

    C#操作SQL Server数据库   1.概述 2.连接字符串的写法 3.SqlConnection对象 4.SqlCommand对象 5.SqlDataReader对象 6.DataSet对象 7 ...

  9. sql server 字符串转成日期格式

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

随机推荐

  1. FineUIPro v5.2.0已发布(jQuery升级,自定义图标,日期控件)

    FineUIPro/MVC/Core/JS v5.2.0 已经于 2018-8-20 发布,官网示例已更新,如果大家在测试中发现任何问题,请回复本帖,谢谢了. 在线示例: FineUI Pro:htt ...

  2. appium框架之bootstrap

    (闲来无事,做做测试..)最近弄了弄appium,感觉挺有意思,就深入研究了下. 看小弟这篇文章之前,先了解一下appium的架构,对你理解有好处,推荐下面这篇文章:testerhome appium ...

  3. svnsync同步svn

    使用svnsync实现已有版本库的镜像svn不支持分布式开发,所以把svn版本库保存在一台服务器上是不安全的.制作一个镜像svn版本库有多种方式,我采用subversion自带的svnsync程序. ...

  4. Oracle物化视图的创建及使用

    oracle物化视图 一.oracle物化视图基本概念  物化视图首先需要创建物化视图日志,  oracle依据用户创建的物化视图日志来创建物化视图日志表,  物化视图日志表的名称为mlog$_后面跟 ...

  5. Flutter之Color

    color:颜色Colors.green ,系统默认了几种颜色,分别如下: red, pink, purple, deepPurple, indigo, blue, lightBlue, cyan, ...

  6. Converting PDF to Text in C#

    Parsing PDF files in .NET using PDFBox and IKVM.NET (managed code). Download source files - 82 kB [c ...

  7. Git冲突:You have not concluded your merge

    You have not concluded your merge. (MERGE_HEAD exists) Git本地有修改如何强制更新 我尝试过用git pull -f,总是提示 You have ...

  8. [FJOI2016]建筑师

    题目描述 小 Z 是一个很有名的建筑师,有一天他接到了一个很奇怪的任务:在数轴上建 n 个建筑,每个建筑的高度是 1 到 n 之间的一个整数. 小 Z 有很严重的强迫症,他不喜欢有两个建筑的高度相同. ...

  9. 图论(最短路&最小生成树)

    图论 图的定义与概念 图的分类 图,根据点数和边数可分为三种:完全图,稠密图与稀疏图. 完全图,即\(m=n^2\)的图\((m\)为边数,\(n\)为点数\()\).如: 1 1 0 1 2 1 1 ...

  10. OI中卡常数技巧

    一.I/O优化 读入优化是卡常数最重要的一条! inline int read() { ,f=;char c=getchar(); ;c=getchar();} +c-';c=getchar();} ...