数据库の函数

一、内置函数--字符串函数

1、--ASCII 返回字符串的首字母的ASCII编码

select ASCII('ame')

select ASCII(xingming)from xuesheng--查询语句中的格式

select*from haha where ASCII(name)>200--查询表中ASCII码大于

2、--CHAE 将ASCII码转换成对应的字符

select CHAR(13)--在ASCII码中代表回车键,显示空格

select CHAR(202)--不同于,代表没有

select CHAR(age)from haha--在查询语句的格式

3、--CHARINDEX 查找字符串,返回符合条件的首字母的索引,索引从1开始,返回0表示没查询到

select CHARINDEX('efg','abcdefghijklmnopqrstuvwxyz')--返回字符串首字母的索引

select CHARINDEX('199',cid) from haha--索引从1开始,返回表示没查询到

4、--CONCAT字符串拼接2012版本才可以用

5、--select CONCAT('abc'+'bcd')同select('abc'+'bcd'+'efg')

6、--DIFFERENCE 比对,返回相似度(,,,,)各占%,相似度高%返回,相似度低%返回

select DIFFERENCE('abcefgr','ab')

7、 --FORMAT 将字符串格式化2012版

8、--LEFT 从左往右截取字符串指定长度,返回Int值,相当与substring截取功能

select LEFT('abcdefgh',4)

select LEFT(cid,14)from haha--列名相当于变量名,语句相当于for循环,一句一句执行,

9、--LEN 返回截取字符串长度,前面空格保留,后面的空格自动舍去,相当于lengths

select LEN('  1234    ')

10、--LOWER 将大写字母转换为小写

select LOWER('aBCDEFG')

11、--LTRIM 去除左边的空格,也就是字符串前面的空格,相当于trimstart

select LTRIM(' B  ABCDNE    ')

12、--PATINDEX 查找字符串和数字,索引从开始,查询字符串第一次出现的起始位置(要查找的字符串前后加%)

select PATINDEX('%j%','abcdefghijklmn')

select PATINDEX('%67%','12345656787')

13、--REPLACE 替换需要三个参数(目标字符串,要替换的目标字符段,替换后的内容)

select REPLACE(cid,'606','103') from haha

以上这些函数只是在显示时改成我们想要看到的结果,但不对原数据造成任何影响。

select REPLICATE('ABC',3)

14、--REVERSE 翻转字符串

select REVERSE('abcdefghijklmn')

select REVERSE(name)from haha

15、--RIGHT 从右往左按指定个数返回字符串

select RIGHT('  abschge',3)

16、 --1RTRIM 去除右边的空格

select RTRIM('  abndc asn sd   ')

17、 --SPACE  打印空格,括号里面写几就打印几个空格

select 'a'+SPACE(10)+'B'

18、--STR 将一个小数转换为字符串,第一个参数是字符串的原数据,第二个参数是保留字符串的长度(包含小数点),第三个参数是截取小数点后几位

select STR(2131.23123,7,3)

19、--STUFF 在字符串中插入指定字符串(删除指定索引位置开始的指定长度字符,之后在指定索引处插入指定字符)

--第一个参数是原始字符串,第二个参数是索引开始的位置,第三个参数是指定删除的长度

--第四个参数是指定输入的字符串

select STUFF('ABC1234',4,0,'HELLOWORLD')

20、--1SUBSTRING 内有从指定索引处截取指定长度的字符串

select SUBSTRING(cid,7,8)from haha

21、--1UPPER 字符串全部大写

select UPPER('abnsdkf')

重点记忆:upper全部大写、lower全部小写、substring截取字符串、len截取字符串的长度、rtrim从右往左去空格,ltrim从左往右去空格,charindex查找字符串,返回符合条件的字符串的索引

二、时间日期函数

1、select @@DATEFIRST--2个@开头的是系统常量,返回的是今天周几
 2、--1DATEADD 给指定日期加入一个时间段,第一个参数是表示加入数据的类型,第二个参数是加入的数据,第三个参数是指定日期时间
  select DATEADD( year,2 ,'2006-7-31')
 3、 --1求时间差,可以指定类型;第一个参数是指定日期类型,第二、三个参数是指定日期时间
  select DATEDIFF(YEAR,'2011-7-31','2014-11-2')
 4、 --DATENAME(返回的是字符串)返回某个时间值里面,想得到的某块类型的数,比如年月日 可以单独获取年或者月或者日
  select DATENAME(weekday,'2014-11-2')
  5、--1DATEPART(返回的值是int类型)从周天开始计算是第一天
  select DATEPART(WEEKDAY,'2014-11-25')
  select DATEPART(WEEK,'2014-5-15')
  6、--DAY 返回该日期的时间是当月的某一天,返回int值
  select DAY('2014-11-25')
  7、--1GETDATE 获取当前数据库所在服务器的日期时间
  select GETDATE() as 普通
  8、--ISDATE  判断输入的使其时间是否正确,正确返回1,错误返回0;
  select ISDATE('2013-2-29')
 9、 --取时间值的月份
  select MONTH('2014-2-15')
  10、-- 获取系统时间
  select SYSDATETIME()
 11、 --获取年份
  select YEAR('2014-7-11')
三、------类型转换,转换函数------
 --三种转换方式 pause convert cast
 1、CAST

select CAST(123 as varchar(20))
  select CAST(123 as int)
  select CAST(123 as decimal(18,2))
  select CAST('12.3')AS decimal(18,2)
  2、--convert 前面写类型,后面写目标数据
  select CONVERT(int,'12.3')
  3、--pause  2012版
  select pause()
  练习题:截取学生的身份证信息中的年月日
  select*from xuesheng
  alter table xuesheng add ID varchar(20)
  update xuesheng set ID ='370305199202152341'
  方法1:select xingming,STUFF(SUBSTRING(ID,7,6),5,0,'年')+'月'+SUBSTRING(ID,13,2)+'日'from xuesheng
  方法2:select xingming, SUBSTRING(ID,7,4)+'年'+SUBSTRING(ID,11,2)+'月'+SUBSTRING(ID,13,2)+'日'as '生日'from xuesheng


  alter table xuesheng add ID1 varchar(20)
   update xuesheng set ID1 ='1993年02月15日'

11-02SQLserver基础--字符串函数的更多相关文章

  1. C语言相关的基础字符串函数

    C语言中没有专门的字符串类型,所以就用字符数组和字符指针形式表示 1 char arr[]="abcdef"; //字符数组表示的字符串 2 char*arr="abce ...

  2. 11、numpy——字符串函数

    NumPy 字符串函数 以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作. 它们基于 Python 内置库中的标准字符串函数. ...

  3. (基础篇)PHP字符串函数

    1查找字符位置函数:   strpos($str,search,[int]):查找search在$str中的第一次位置从int开始: stripos($str,search,[int]):函数返回字符 ...

  4. mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

    注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数. 1.concat连接字符串: 从上图中可以看出,直接使用sele ...

  5. mysql 开发基础系列5 字符串函数

    字符串函数 1.  concat (s1,s2,...sn) 连接里面的参数成一个字符串(注意上面写错了函数名称) SELECT CONCAT('ddd','CCC'); 2.  insert(str ...

  6. MySQL 基础三 函数(聚合、字符串、时间、条件判断)

    1.聚合 其它:GROUP_CONCAT.avg.sum.count.max.min SELECT typeid,GROUP_CONCAT(goodsname) FROM `goods` GROUP ...

  7. 《C prime plus (第五版)》 ---第11章 字符串和字符串函数---3

    字符串函数总结: 下面是头文件 string.h 中定义的函数: 序号 函数 & 描述 1 void *memchr(const void *str, int c, size_t n)在参数  ...

  8. Pandas | 11 字符串函数

    在本章中,我们将使用基本系列/索引来讨论字符串操作.在随后的章节中,将学习如何将这些字符串函数应用于数据帧(DataFrame). Pandas提供了一组字符串函数,可以方便地对字符串数据进行操作. ...

  9. c#编程基础之字符串函数

    c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...

随机推荐

  1. tyvj 1884 [NOIP2000T4]方格取数 || codevs 1043 dp

    P1884 [NOIP2000T4]方格取数 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 [noip2000T4]方格取数 描述 设有N*N的方格图(N& ...

  2. JavaWeb中的中文编码问题

    一.为什么要编码? 1.在计算机中存储信息的最小单元是1字节,即8个bit,所以能表示的字符范围是0~255个. 2.人类要表示的符号太多,无法用1个字节来完全表示. 这就是矛盾,要解决这个矛盾,就出 ...

  3. javascript删除JSON元素

    首先要搞清JSON的数据格式,我这里所说的JSON都是指javascript中的. JSON数据是由对象和数组数据结构组成,我们只要学会javascript中对对象和数组的删除方法即可对JSON项进行 ...

  4. 智课雅思词汇---十五、前缀co-com-con-col-cor-是什么意思

    智课雅思词汇---十五.前缀co-com-con-col-cor-是什么意思 一.总结 一句话总结:前缀:co- 表示"共同", 通常放在元音词根前 1.前缀co-com-con- ...

  5. openGL 3.3+ 场景渲染

    这个渲染程序是研一下学期的计算机图形学课程大作业,花了两三周学习使用了下 openGL 3.3+ 库,整合出了这个渲染程序,完成于 2013/07/05. 相对于老版本的库,新版本更开放,给了程序员更 ...

  6. JAVA实现多线程的四种方式

    JAVA多线程实现方式: 1.继承Thread类(无返回值) 2.实现Runnable接口(无返回值) 3.实现Callable接口,通过FutureTask包装器来创建Threak线程(有返回值) ...

  7. Spring_总结_01_Spring概述

    一.前言 从今天开始,重新总结一下Spring的相关知识,主要是结合<Spring实战(第四版)>和 <JavaEE开发的颠覆者——SpringBoot实战>这两本书以及官方文 ...

  8. hbase_异常_05_End of File Exception between local host is: "rayner/127.0.1.1"; destination host is: "localhost":9000;

    一.异常信息 java.io.EOFException: End of File Exception between local host is: "ubuntu/127.0.1.1&quo ...

  9. KVM- 存储池配置

    1.创建基于文件夹的存储池(目录) [root@kvm_1 ~]# mkdir -p /data/vmfs 2.定义存储池与其目录 [root@kvm_1 ~]# virsh pool-define- ...

  10. NOI模拟赛 #4

    好像只有一个串串题可以做... 不会 dp 和数据结构啊 QAQ 10 + 20 + 100 = 130 T1 一棵树,每个点有一个能量的最大容量 $l_i$ 和一个增长速度 $v_i$,每次可以选一 ...