SQL-字符串运算符和函数

COALESCE(columnname,string) 函数

  将 NULL 值作为字符串(用空字符串或其他字符串替换 NULL)- 接受一列输入值(字段)如果该字段为 NULL,则返回后面替换的字符串

1 SELECT custid,country,region,city,country+N‘,‘+region+N‘,‘+city AS location FROM Sales.Customers

SELECT custid,country,region,city,country+N‘,‘+COALESCE(region,N‘q‘)+N‘,‘+city AS location FROM Sales.Customers

SUBSTRING(string,start,length)

  提取从指定位置开始,具有特定长度的字符串

SELECT SUBSTRING(‘abcde‘,2,2);

LEFT(string,n), RIGHT(string,n)

  第一个参数是要处理的字符串,第二个参数是要从字符串左边或右边提取字符的个数

SELECT LEFT(‘abcde‘,2),RIGHT(‘abcde‘,2);

LEN(string),DATALENGTH(string)

  LEN 函数返回字符数,DATALENGTH 函数返回字节数

SELECT LEN(N‘ABCDE‘),DATALENGTH(N‘ABCDE‘);

CHARINDEX(substring,string[,start_pos])

  在第二个参数中搜索第一个参数,并返回其起始位置。可以选择性的指定第三个参数,函数将从字符串指定位置开始搜索,默认从第一个字符开始搜索。如果在string中找不到substring,则返回0

SELECT CHARINDEX(N‘C‘,N‘AB CDE‘);

PATINDEX(pattern,string)

  参数 pattern 使用的模式与 T-SQL 中 LIKE 谓词使用的模式类似。

SELECT PATINDEX(‘%[0-9]%‘,‘ABC123DEFG‘);

REPLACE(string,substring1,substring2)

  将 string 中出现的所有 substring1 替换为 substring2。

SELECT REPLACE(‘1-A 2-B‘,‘-‘,‘:‘);

用 REPLACE 和 LEN 函数返回某个字符串中字符出现的次数

SELECT LEN(‘I‘‘M ZHANGSAN,FROM CHINA‘)-LEN(REPLACE(‘I‘‘M ZHANGSAN,FROM CHINA‘,‘ ‘,‘‘));

REPLICATE(string,n)

  将string复制n遍

SELECT REPLICATE(‘ABC‘,3);

REPLACE 函数,RIGHT 函数和字符串串联的用法

SELECT supplierid,RIGHT(REPLICATE(‘0‘,9)+CAST(supplierid AS VARCHAR(10)),10) AS strsupplierid FROM Production.Suppliers;

STUFF(string,pos,delete_length,insertstring)

  对输入参数 string 进行处理,从 pos 指定的位置开始删除 delete_length 指定长度的字符;然后将 insertstring 插入到 pos 指定的位置

SELECT STUFF(‘XYZ‘,2,1,‘ABC‘);

UPPER(string),LOWER(string)

  UPPER 函数将字符串转换为大写,LOWER将字符串转换为小写

SELECT UPPER(‘abc‘),LOWER(‘ABC‘)

RTRIM(string),LTRIM(string)

  RTRIM 删除尾空格,LTRIM 删除前导空格

SELECT RTRIM(‘ A B C ‘),LTRIM(‘ A B C ‘),RTRIM(LTRIM(‘ A B C ‘));

时间: 2024-08-10 22:54:54

SQL-字符串运算符和函数的相关文章

SQL 字符串分割表函数

1 --字符串分割表函数 2 declare @str varchar(1000) 3 declare @split varchar(10) 4 5 declare @i int; 6 declare @count int; 7 8 declare @ChildStr varchar(1000); 9 declare @splitStr varchar(1000); 10 declare @Index int; 11 12 declare @table as table (rowId int,s

sql字符串累加stuff()函数

函数 stuff(param1, startIndex, length, param2) 函数说明将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符.例子 我有个#tmp1 的表,内容为 执行下面语句 SELECT PRODID,KTL_CustRef, PO = stuff ((SELECT ' ' + PO FROM #tmp1 AS t WHERE t .PRODID = tb.PRODID FOR xml p

SQL 字符串相关

一.sql中,字符串保存序号,按照数字顺序进行排序 ----/*省略部分代码*/--- order by RIGHT(REPLICATE('0',10)+CAST(householdNo AS varchar(10)),10) asc --householdNo 为要排序字段 二.SQL Server 时间字符串转换为DateTime格式 SELECT GETDATE() -------获取当前时间 SELECT CONVERT(DATETIME,'2018-06-26 09:54:30.027

使用SQL字符串反转函数REVERSE巧妙实现lastindexof功能

要实现一个简单的业务: 使用SQL脚本获取字符串'large/020700/61970b0101.jpg' 中的'61970b0101.jpg'部分. 先想到的是C#中的lastindexof,但是SQL中没有这个函数,只有charindex函数,只好使用现有资源想办法曲线解决了. 解决思路: 1.使用REVERSE函数将字符串反转 2.使用charindex找到第一个出现'/'的位置 3.使用left函数找到'/'之前的字符串 4.再次使用REVERSE函数将处理过的字符串反转 具体示例: D

ORACLE PL/SQL 字符串函数、数学函数、日期函数

ORACLE PL/SQL 字符串函数.数学函数.日期函数 --[字符串函数] --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符串从前面取三个(0开始) select Name,substr(Name,0,3) from t1; --字符串从后面取三个 select Name,substr(Name,-3

SQL Server使用PARSENAME函数来处理IP地址字符串

IP V4地址是用3个点分隔的字符串,有时候需要在数据库中进行处理,比如判断IP地址是否有效等. 通常想到的方法是自己写个函数,比如利用CHARINDEX.SUBSTRING等函数组合来获取IP地址的各个部分,然后处理. SQL Server用来表示对象的时候通常采取 架构名.对象名.数据库名.架构名.对象名.链接服务器名.数据库名.架构名.对象名 等方式 比如dbo.tablename.master.dbo.tablename.[192.168.1.100].master.dbo.tablen

SQL字符串转换函数

Ascii()函数 返回字符串表达式最左端字符的ASCII码值 语法格式:ascii(字符表达式) 例:ASCII('A'),ASCII('a'),ASCII(0),ASCII(9) 返回 65 97  48  57 Char()函数 将ASCII码转换为字符 语法格式:char(数值表达式) 若输入的不是0-255之间的ASCII码值,则返回一个null值 Lower() upper() 函数 把字符串全部转换为小写/大写 语法格式:lower(字符表达式)   upper (字符表达式) S

(六)PL/SQL字符串

PL/SQL字符串实际上是一个可选的尺寸规格字符序列.字符可以是数字,字母,空白,特殊字符或全部的组合. PL/SQL提供了三种类型的字符串:  固定长度字符串:在这样的字符串,程序员指定的长度,同时声明该字符串.该字符串是右填充空格以达到指定的长度.  变长字符串:在这样的字符串,最大长度可达32,767,为字符串指定,并不需要填充.  字符大对象(CLOB) :这是可变长度的字符串,可以达到128兆兆字节. PL/ SQL字符串可以是变量或字面值.字符串文字被引号围在内部.例如:'This

MYSQL常见运算符和函数

MYSQL常见运算符和函数[重要] 字符函数 (1)CONCAT():字符连接 SELECT CONCAT('IMOOC','-','MySQL');//IMOOC-MySQL SELECT CONCAT (first_name,last_name) AS fullname FROM test; (2)CONCAT_WS():使用指定的分隔符进行字符连接,(第一个位置指定分隔符,后面的为分割的内容) SELECT CONCAT_WS('%','abc','def'); //第一个是指定的分隔符:

C++:运算符重载函数之"++"、"--"、"[ ]"的应用

5.2.5 "++"和"--"的重载 对于前缀方式++ob,可以用运算符函数重载为: ob.operator++() //成员函数重载 或 operator++(X &ob) //友元函数重载,其中ob为类X的对象的引用 对于后缀方式++ob,可以用运算符函数重载为: ob.operator++(int) //成员函数重载 或 operator++(X &ob,int) //友元函数重载,其中ob为类X的对象的引用 调用时,参数int一般被传递给值0