• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 总结SQL Server中常用函数使用方法

总结SQL Server中常用函数使用方法

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了Server,使用方法,函数等相关知识,希望本文的分享对您有所帮助
这篇文章主要介绍了SQL Server 常用函数使用方法小结,需要的朋友可以参考下

之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行。。。嘿嘿。。。

直到今天用到substring()这个函数,C# 里面这个方法起始值是 0,而 SQL 里面起始值是 1。傻傻分不清楚。。。

这篇博客作为记录 SQL 的函数的使用方法,想到哪里用到哪里就写到哪里。。。

SubString():用于截取指定字符串的方法。该方法有三个参数:

参数1:用于指定要操作的字符串。

参数2:用于指定要截取的字符串的起始位置,起始值为 1 。

参数3:用于指定要截取的长度。


select substring('abcdef',1,3)  -- 返回 abc
select substring('123456321',0,2)  -- 返回 1,即第一位,最好不要这样做

Left():用于返回指定字符串中指定长度的左侧部分。该方法有两个参数:

参数1:用于指定要操作的字符串。

参数2:用于指定要返回的子字符串的长度。


select LEFT('abc123',3)    -- 返回 abc
select LEFT('左侧部分右侧部分',4)  -- 返回 左侧部分

Right():用于返回指定字符串中指定长度的右侧部分。该方法有两个参数:

参数1:用于指定要操作的字符串。

参数2:用于指定要返回的子字符串的长度。


select RIGHT('abc123',3)    -- 返回 123
select RIGHT('左侧部分右侧部分',4)  -- 返回 右侧部分

CharIndex():用于返回指定字符串中指定子字符串出现的起始位置。如果未找到就返回 0。该方法有两个参数:

参数1:用于指定要进行查找的字符串。

参数2:用于指定用作检索的字符串。


select charindex('a','123a123')    -- 返回 4
select charindex('abc','123a123')  -- 返回 0
select charindex('abc','123abc123')  -- 返回 4

Stuff():用于删除指定长度的字符,并在删除的位置插入新的字符/值。该方法有四个参数:

参数1:用于指定要操作的字符串。

参数2:用于指定要删除字符的起始位置。

参数3:用于指定要删除字符的长度。

参数4:用于指定在删除的位置插入的新的字符串/值。


select stuff('123abc456',4,3,'ABC')    -- 返回 123ABC456
select stuff('123abc456',1,3,'')  -- 返回 abc456,用空字符串替代

Len():用于返回指定文本的值的长度。前导空格计算在内,尾随空格不计算在内。该方法有一个参数:

参数1:用于指定要操作的文本或字符串。


select len('123')  -- 返回 3
select len('字符串')  -- 返回 3

Difference():用于返回一个整数值,指示两个字符表达式的 SOUNDEX 值之间的差异。(即两个字符串的相似度)那么什么是 SOUNDEX 值呢?先记着,下面轮到它了。

返回的值从 0 到 4 不等:0 表示几乎不同或完全不同,4 表示几乎相同或完全相同。该方法有两个参数:

参数1:用于指定要进行比对的第一个字符串 SOUNDEX 值 。

参数2:用于指定要进行比对的第二个字符串 SOUNDEX 值。


select difference('action','demo')    -- 返回 2
select difference('123456','整数')    -- 返回 4

Soundex():用于返回指定字符串的 SOUNDEX 值。SOUNDEX是一种语音算法,利用英文字的读音计算近似值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出正确字的情形,可用 Soundex 做类似模糊匹配的效果。这里的模糊匹配跟 LIKE 不同。

算法简要说明:


-- 将英文字按以下规则替换(不使用第一个字符进行匹配,并且不使用对应值为 0 的英文字符的值)
  a e h i o u w y -> 0
  b f p v -> 1
  c g j k q s x z -> 2
  d t -> 3
  l -> 4
  m n -> 5
  r -> 6

如果字符串中存在拥有相同对应数字的2个或以上的字母在一起(例如 j 和 k),则删除其他的,只保留1个。去除对应值为 0 的字符,只返回前4个字节,不够用 0 填充。


select soundex('string')  -- 返回 S215
select soundex('str')  -- 返回 S210
select soundex('123')  -- 返回 0000
select soundex('字符串')  -- 返回 0000

PS:除英文字符以外的字符都将返回 0000,所以上面的方法 Difference() 的第二个示例会返回4(表示完全相同)。

Lower():用于返回指定英文字符串的小写形式的字符串。如果不为英文字符串,则返回原值。该方法有一个参数:

参数1:用于指定要转换为小写形式的字符串。


select lower('ABC')    -- 返回 abc
select lower('123')  -- 返回 123

Upper():用于返回指定英文字符串的大写形式的字符串。如果不为英文字符串,则返回原值。该方法有一个参数:

参数1:用于指定要转换为大写形式的字符串。


select upper('abc')    -- 返回 ABC
select upper('123')  -- 返回 123

Ltrim():用于返回删除前导空格之后的字符串。该方法有一个参数:

参数1:用于指定要进行删除前导空格操作的字符串。


select ltrim('    123')    -- 返回 123
select ltrim('    好多空格')  -- 返回 好多空格
select len('    123')  -- 返回 11
select len(ltrim('    123')) -- 返回 3

Rtrim():用于返回截断尾随空格之后的字符串。该方法有一个参数:

参数1:用于指定要进行截断尾随空格操作的字符串。


select rtrim('123     ')    -- 返回 123
select len(rtrim('123     ')) -- 返回 3

Replace():用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。该方法有三个参数:

参数1:用于指定要操作的字符串,即被匹配的字符串。

参数2:用于指定要进行匹配的字符串。

参数3:用于指定用作替换存在的匹配项的字符串。


--把 abc 替换为 xxx 
select replace('123abc456','abc','xxx')    -- 返回 123xxx456
-- 用空字符串替换匹配项
select replace('123abc456','abc','')  -- 返回 123456

以上就是总结SQL Server中常用函数使用方法的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用use index优化sql查询的详细介绍
  • 如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)
  • SQL SERVER 日期格式转换详解
  • 如何在SQL Server中实现 Limit m,n 的功能
  • 基于SQL中SET与SELECT赋值的区别详解
  • 深入Mysql,SqlServer,Oracle主键自动增长的设置详解
  • DBA应该知道的一些关于SQL Server跟踪标记的使用
  • SQL查询超时的设置方法(关于timeout的处理)
  • MySQL rownumber SQL生成自增长序号使用介绍
  • mysql启动提示mysql.host 不存在,启动失败的解决方法

相关文章

  • 2018-12-05MySQL 数据类型和建库策略
  • 2018-12-05MySQL高级二——流程控制语句
  • 2017-05-11MySQL的安全问题从安装开始说起
  • 2018-12-05Mysql-聚簇索排序慢案例分析
  • 2018-12-05mysql死锁几种情况的测试_MySQL
  • 2017-05-11mysql手动删除BINLOG的方法
  • 2018-12-05在Linux下安装Oracle
  • 2018-12-05mysql 查询结果取交集的方法
  • 2018-12-05CREATE DATABASE语句解释
  • 2018-12-05MySQL连接时出现1449与1045异常解决办法详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 关于mysql索引长度的相关内容总结
    • MySQL数据库常见问题汇总
    • mysql常用基础操作语法(一)~~对库的操作【命令行模式】
    • MySQL中的LOCATE和POSITION函数使用方法
    • sql server 全部错误号详释 - 果果虫
    • mysql免安装制作使用说明
    • Oracle中serveroutput参数一次设置永久保存方法
    • MySQL 文本文件的导入导出数据的方法
    • 详解Ubuntu手动安装mysql5.7.10(图)
    • MySQL之Field‘***’doesn’t have a default value错误解决办法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有