T-SQL字符串函数:修改字符串的值

日期: 2010-05-05 作者:Robert Sheldon翻译:冯昀晖 来源:TechTarget中国 英文

T-SQL还包括可以在SQL Server中修改字符串值的一组函数。下面的语句就是一个例子:   SELECT   REPLACE(Name, ‘Mountain’, ‘Mtn’) AS ReplaceName,   STUFF(Name, 11, 2, ‘x01’) AS StuffName,   REVERSE(ProductNumber) AS ReverseNum,   STUFF(ProductNumbe……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

T-SQL还包括可以在SQL Server中修改字符串值的一组函数。下面的语句就是一个例子:

  SELECT
  REPLACE(Name, 'Mountain', 'Mtn') AS ReplaceName,
  STUFF(Name, 11, 2, 'x01') AS StuffName,
  REVERSE(ProductNumber) AS ReverseNum,
  STUFF(ProductNumber, 1, 2, REPLICATE(0, 3)) AS
  ReplicateNum, ProductNumber + SPACE(4) + LOWER
  (ProductLine) AS LowerProdLine
  FROM
  Production.Product
  WHERE
  ProductID = 771

  这句SQL使用了几个函数来修改“Name”列和“ProductNumber”列的值。“Name”列的原始值是“Mountain-100 Silver,38”,“ProductNumber”列的原始值是“BK-M82S-38”。该语句返回如下结果:

ReplaceName
---------------

StuffName
-------------------
ReverseNum
----------
Mtn-100 Silver, 38Mountain-1x01 Silver, 3883-S28M-KB


ReplicateNum
-----------
LowerProdLine
---------------
000-M82S-38BK-M82S-38    m

  (查询到1行记录)

  该语句中使用的第一个函数是“REPLACE”,用来替换给定字符串值中指定的一组字符串为新的字符串。该函数有三个参数:第一个参数是字符串表达式,第二个参数是被替换的字符串,第三个参数是要替换的新字符串。在上面的例子中,REPLACE函数指定“Name”列作为待操作的字符串。被替换的字符串是“Mountain”,新字符串是“Mtn”。结果,(替换后的)新值变成了“Mtn-100 Silver,38”。

  接下来的函数是“STUFF”,它的作用是按照给定的位置删除一组指定的字符,并插入一组新的字符。该函数有四个参数:第一个参数是待操作的字符串表达式,第二个参数是待删除的字符串的起始位置,第三个参数是要删除字符的数量,第四个参数是要插入的字符串。在上面的例子中,“STUFF”函数指定“Name”列为待操作的字符串。要删除的字符串从第11个字符(第二个参数)开始,删除两个字符(第三个参数)。在那些字符删除后,新字符(x01)被插入到该位置,结果处理后的新字符串变成了“Mountain-1x01 Silver,38”。

  函数“RESERVSE”的作用是把给定字符串按逆序排列。在本例中,待处理的字符串是“ProductNumber”列。结果,处理后的新产品编号变成了“83-S28M-KB”。

  还有函数“REPLICATE”,该函数可以把指定字符串值重复指定的次数。该函数有两个参数:第一个参数是待处理的字符串值,第二个参数是重复次数。在上面的例子中,“0”被重复了三次。然而,要注意“REPLICATE”函数被嵌入到了“STUFF”函数中作为第四个参数。结果“ProductNumber”值的前两个字符被替换为了“000”。

  “SPACE”函数与“REPLICATE”函数类似,它返回一组空格。该函数有一个参数,指定返回的空格数量。在上面的例子中,该组合值中添加了四个空格。

  本例中还有个“LOWER”函数,它把字符串中的大写字符转换为小写字符。在上面的例子中,“ProductLine”的值被转换成了小写。T-SQL还支持“UPPER”函数,它可以把小写字符转换为大写字符。

相关推荐