SQL Substring提取部分字符串_MsSql

功能:返回字符、二进制、文本或图像表达式的一部分

语法:SUBSTRING ( expression, start, length )

          SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:

参数:

expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。

start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。

length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。
返回值:

如果 expression 是一种支持的字符数据类型,则返回字符数据。如果 expression 是一种支持的二进制数据类型,则返回二进制数据。如果 start = 1,则子字符串从表达式的第一个字符开始。

返回字符串的类型与给定表达式的类型相同(下表所示内容除外)。

给定表达式 返回类型

image


varbinary


ntext


nvarchar

代码示例:

下面的示例返回 Employees 表中每位雇员的名字首字母及完整姓氏:

SELECT SUBSTRING(First Name,1,1) AS Initial, Last Name
FROM Employees

下面是结果集:

Initial..........Last Name
-------------------------
A................Funk
M................Pearson
L................Calafato
N................Danner
J................Lee
S................Byham
M................Sutter
R................King
A................Doyle

  • MySQL: SUBSTR(), SUBSTRING()
  • Oracle: SUBSTR()
  • SQL Server: SUBSTRING()
时间: 2024-10-10 06:53:08

SQL Substring提取部分字符串_MsSql的相关文章

SQL Substring提取部分字符串

功能:返回字符.二进制.文本或图像表达式的一部分 语法:SUBSTRING ( expression, start, length ) SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: 参数: expression 字符串.二进制字符串.文本.图像.列或包含列的表达式.请勿使用包含聚合函数的表达式. start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置. length 整数或可以隐式转换为 int 的表达

SQL Server 提取数字、提取英文、提取中文的sql语句_MsSql

--SQL 判断字段值是否有中文 create function fun_getCN(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1),@CN nvarchar(4000) set @CN='' while len(@str)>0 begin set @word=left(@str,1) if unicode(@word) between 19968 and 19968+20901 set @C

SQL 存储过程基础语法之一_MsSql

CREATE PROCEDURE 创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合. 可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程).也可以创建在 Microsoft? SQL Server? 启动时自动运行的存储过程. 语法 CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [

c#-如图,为什么DataSet从sql server获取的字符串数据带省略号?

问题描述 如图,为什么DataSet从sql server获取的字符串数据带省略号? 我要对数据内容进行判断,结果老是不符.后来断点调试,放大镜查看DataSet对象,如图,发现它有2列的值是带省略号的,这2列在sql server里的数据类型是 char(50).vchar(50).nvchar(50), 3种我都换过,但是程序运行后DataSet对象那里还是带省略号.怎么会出现这种情况呢 解决方案 是因为你数据库的字段长度比较大,虽然你只有两个字 实际上所占字符为你的字段长度,建议格式化,l

使用sql语句,去掉字符串里面的多个括号中的字符串

问题描述 使用sql语句,去掉字符串里面的多个括号中的字符串 比如说,源串是 adgdg[ewrerw]fdafda[2323][244]fdfd, 希望执行语句后得到的是 adgdgfdafdafdfd,即去包含[]以及内部的字符串,这个SQL该怎么写呢? 解决方案 SELECT REGEXP_REPLACE('adgdg[ewrerw]fdafda[2323][244]fdfd','([(.*?)])', '' ) FROM DUAL; 发现这样写可以实现这个目的. 解决方案二: 执行sql

c++-C++可以用指针数组从字符串中提取子字符串么?

问题描述 C++可以用指针数组从字符串中提取子字符串么? C++可以用指针数组从字符串中提取子字符串么?如果可以请给一个示范QAQ 解决方案 http://www.cnblogs.com/xiangzi888/archive/2012/04/16/2451947.html /* strtok example */#include <stdio.h>#include <string.h>int main (void){ char str[] = ""- This

asp 格式化sql中的like字符串_应用技巧

<% '****************************** '函数:formatQueryStr(str) '参数:str,SQL语句 '作者:阿里西西 '日期:2007/7/13 '描述:格式化sql中的like字符串 '示例:<%=formatQueryStr(str)%> '****************************** function formatQueryStr(str)   dim nstr  nstr = str  nstr = replace(n

使用C语言提取子字符串及判断对称子字符串最大长度_C 语言

先来看一个使用C语言从字符串中提取子字符串的基本方法总结: #include <stdio.h> /*处理中文字符*/ /*遍历字符串,非ASCII字符读取2个字节,ASCII读取一个字节,获取字符串长度*/ int StrLenU(const char* string) { int len = 0 ; const char* p = string; while(*p++ != '\0') { if(*p > 0x80 || *p < 0) { p++; } len++; } re

asp 格式化sql中的like字符串

<% '****************************** '函数:formatQueryStr(str) '参数:str,SQL语句 '作者:阿里西西 '日期:2007/7/13 '描述:格式化sql中的like字符串 '示例:<%=formatQueryStr(str)%> '****************************** function formatQueryStr(str)   dim nstr  nstr = str  nstr = replace(n