将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处
select stuff('hi,world!',4,4,'****') --返回值hel****orld!
--返回从指定位置开始指定长度的字符串
select substring('Hello,World!',2,10) --返回值ello,World
--将字符串中某段字符替换为指定的字符串
select replace('hi,world!','ll','aa') --返回值heaao,world!
--去除字符串中左面的空格
select ltrim(' hi,world!') --返回值hi,world!
--去除字符串中左面的空格
select ltrim('hi,world! ') --返回值hi,world!
--去除字符串中左面和右边的空格
select ltrim(' hi,world! ') --返回值hi,world!
--将NULL值替换为指定字符
select isnull('a',null) --返回值a
--转换数据类型
select cast('2007-10-11' as datetime) --返回值2007-10-11 00:00:00.000
select convert(datetime,'2007-10-11') --返回值2007-10-11 00:00:00.000
--获取字符串长度
select len('hi,world!') --返回值12
--获取字符串的前3个字符
select left('hi,world!',3) --返回值hel
--获取字符串的后3个字符
select right('hi,world!',3) --返回值ld!
--去除字符串的前3个字符
select right('hi,world!',(len('hi,world!')-3)) --返回值lo,world!
--去除字符串的后3个字符
select left('hi,world!',(len('hi,world!')-3)) --返回值hi,wor
--获取在该字符串中某字符串的位置(返回数字)
select charindex('e','hi,world!') --返回值2
--返回从第二个字符开始前4个字符
select left(right('[哈哈哈哈]aaa',len('[哈哈哈哈]aaa')-1),4) --返回值哈哈哈哈
--返回字符的小写情势
select lower('HELLO,WORLD!') --返回值hi,world!
--返回字符的大写情势
select UPPER('hi,world!') --返回值HELLO,WORLD!
--用第三个表达式替换第一个字符串表达式中浮现的所有第二个指定字符串表达式的匹配项
(要是此中有一个输入参数属于 nvarchar 数据类型,则返回 nvarchar;不然返回 varchar。要是任何一个参数为 NULL,则返回 NULL。)
SELECT REPLACE('Hello,World!','l','a') --返回值Heaao,Worad!
SELECT REPLACE('Hello,World!','l','') --返回值Heo,Word!
SELECT REPLACE('Hello,World!','l',null) --返回值NULL
--以右边参数数值次数复制字符表达式
select REPLICATE('Hello,World!',4) --返回值Hello,World!Hello,World!Hello,World!Hello,World!
--返回反转后的字符串
select REVERSE('Hello,World!') --返回值!dlroW,olleH
--施用DIFFERENCE时,两个字符串发音越相似(仅限于英书契符),返回值越大(返回值在0-4之间)
DIFFERENCE('sun','san') --返回值4
DIFFERENCE('sun','safdsdf') --返回值3
DIFFERENCE('sun','dgffgfdg') --返回值0
--将带小数点的数字类型转换为可设定长度可设定小数位的四舍五入后的字符串
SELECT STR(123.34584, 7, 3) --返回值123.346
--当设定长度值小于整数部位长度时,字符串将返回设定长度个*
SELECT STR(123333.34584, 5, 4) --返回值*****
--================================================ ===================================
--=====================================数字操作汇总==================================
--返回指定数字的最大整数
select floor(123456.1234) --返回值123456
--返回不带小数部分并且不小于其参数的值的最小数字。要是参数是一个空序列,则返回空序列
select ceiling(123.010) --返回124
select ceiling(null) --返回NULL
--返回四舍五入后的最靠近该数值的数值
select round(126.018,2) --返回126.12
--返回一个0-1之间的FLoat类型的随机数
select rand() --返回0.94170703697981
--返回圆周率PI的值
SELECT PI() --返回3.14159265358979
sql带分隔符的字符串截取
Posted on 2012-11-28 14:05 桦林 阅读(461) 评论(0) 编辑 收藏
declare @str nvarchar(50);
set @str='462,464,2';
select @str as '字符串'
select len(@str) as '字符长度'
select charindex(',',@str,1) as '第一个逗号的索引值'
select LEFT(@str,charindex(',',@str,1)-1) as '第一个值'
select SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)) as '从第一逗号开始截取出后面的字符串'
select LEFT(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),CHARINDEX(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)-1) as '中间的值'
select SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(@str)) as '最后面的值' --从第二个逗号开始截取出其后的字符串
select stuff('hi,world!',4,4,'****') --返回值hel****orld!
--返回从指定位置开始指定长度的字符串
select substring('Hello,World!',2,10) --返回值ello,World
--将字符串中某段字符替换为指定的字符串
select replace('hi,world!','ll','aa') --返回值heaao,world!
--去除字符串中左面的空格
select ltrim(' hi,world!') --返回值hi,world!
--去除字符串中左面的空格
select ltrim('hi,world! ') --返回值hi,world!
--去除字符串中左面和右边的空格
select ltrim(' hi,world! ') --返回值hi,world!
--将NULL值替换为指定字符
select isnull('a',null) --返回值a
--转换数据类型
select cast('2007-10-11' as datetime) --返回值2007-10-11 00:00:00.000
select convert(datetime,'2007-10-11') --返回值2007-10-11 00:00:00.000
--获取字符串长度
select len('hi,world!') --返回值12
--获取字符串的前3个字符
select left('hi,world!',3) --返回值hel
--获取字符串的后3个字符
select right('hi,world!',3) --返回值ld!
--去除字符串的前3个字符
select right('hi,world!',(len('hi,world!')-3)) --返回值lo,world!
--去除字符串的后3个字符
select left('hi,world!',(len('hi,world!')-3)) --返回值hi,wor
--获取在该字符串中某字符串的位置(返回数字)
select charindex('e','hi,world!') --返回值2
--返回从第二个字符开始前4个字符
select left(right('[哈哈哈哈]aaa',len('[哈哈哈哈]aaa')-1),4) --返回值哈哈哈哈
--返回字符的小写情势
select lower('HELLO,WORLD!') --返回值hi,world!
--返回字符的大写情势
select UPPER('hi,world!') --返回值HELLO,WORLD!
--用第三个表达式替换第一个字符串表达式中浮现的所有第二个指定字符串表达式的匹配项
(要是此中有一个输入参数属于 nvarchar 数据类型,则返回 nvarchar;不然返回 varchar。要是任何一个参数为 NULL,则返回 NULL。)
SELECT REPLACE('Hello,World!','l','a') --返回值Heaao,Worad!
SELECT REPLACE('Hello,World!','l','') --返回值Heo,Word!
SELECT REPLACE('Hello,World!','l',null) --返回值NULL
--以右边参数数值次数复制字符表达式
select REPLICATE('Hello,World!',4) --返回值Hello,World!Hello,World!Hello,World!Hello,World!
--返回反转后的字符串
select REVERSE('Hello,World!') --返回值!dlroW,olleH
--施用DIFFERENCE时,两个字符串发音越相似(仅限于英书契符),返回值越大(返回值在0-4之间)
DIFFERENCE('sun','san') --返回值4
DIFFERENCE('sun','safdsdf') --返回值3
DIFFERENCE('sun','dgffgfdg') --返回值0
--将带小数点的数字类型转换为可设定长度可设定小数位的四舍五入后的字符串
SELECT STR(123.34584, 7, 3) --返回值123.346
--当设定长度值小于整数部位长度时,字符串将返回设定长度个*
SELECT STR(123333.34584, 5, 4) --返回值*****
--================================================ ===================================
--=====================================数字操作汇总==================================
--返回指定数字的最大整数
select floor(123456.1234) --返回值123456
--返回不带小数部分并且不小于其参数的值的最小数字。要是参数是一个空序列,则返回空序列
select ceiling(123.010) --返回124
select ceiling(null) --返回NULL
--返回四舍五入后的最靠近该数值的数值
select round(126.018,2) --返回126.12
--返回一个0-1之间的FLoat类型的随机数
select rand() --返回0.94170703697981
--返回圆周率PI的值
SELECT PI() --返回3.14159265358979
sql带分隔符的字符串截取
Posted on 2012-11-28 14:05 桦林 阅读(461) 评论(0) 编辑 收藏
declare @str nvarchar(50);
set @str='462,464,2';
select @str as '字符串'
select len(@str) as '字符长度'
select charindex(',',@str,1) as '第一个逗号的索引值'
select LEFT(@str,charindex(',',@str,1)-1) as '第一个值'
select SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)) as '从第一逗号开始截取出后面的字符串'
select LEFT(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),CHARINDEX(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)-1) as '中间的值'
select SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(@str)) as '最后面的值' --从第二个逗号开始截取出其后的字符串
发表评论
-
oracle去除重复数据常用的方法
2023-12-07 11:11 501SELECT * from ecm_query t whe ... -
mysql得到表名和字段
2018-05-03 10:21 0引用 SELECT table_name FROM INFOR ... -
mysql级联查询
2017-11-30 16:48 1323实现效果 例如: 中国 下的 省 市 县 乡 输入 省的 ... -
oracle恢复删除的数据
2017-09-07 11:16 609分为两种方法:scn和时间戳两种方法恢复。 一、通过scn恢复 ... -
oracle 简单存储 一个表的数据转入另外的表
2017-06-06 19:58 703线损统计导入 select * from xs_gz ... -
Oracle 关联两表写update语句
2017-05-25 09:28 1185两种方法: -- 方法1. UPDATE 表2 SE ... -
oracle 触发器实例
2017-03-29 17:09 714//新增字段更改值 create or replace tri ... -
使用oracle 的 PL/Sql 定时执行一个存储过程
2015-03-17 11:19 1588/* 使用oracle 的 PL/Sql 定时执行一个存储过程 ... -
删除oracle末用户的表数据
2015-03-10 16:01 770begin for cr in (select o.obje ... -
一个字符串是否包含另一个字符串(两个字符串内部已逗号隔开)
2014-08-07 11:39 1062CREATE FUNCTION [dbo].[getStrCo ... -
Sql Server判断是否含有汉字、数字、字母
2014-06-26 09:45 2424/*含有字母或数字*/ select * from Ta ... -
sqlserver锁表
2014-03-31 10:58 824select request_session_id s ... -
sql实现15位身份证转化为18位身份证
2014-02-19 14:22 1635create function f_CID15to18 ... -
如何利用SQL查询语句从SQLSERVER数据库中导入导出EXCEL表格
2013-10-21 16:26 2226如何利用SQL查询语句从SQLSERVER数据库中导入导出E ... -
如何将sqlserver表中的数据导出sql语句或生成insert into语句
2013-10-21 15:17 1347输入表名,生成插入语句 if exists (select ... -
使用sql语句将一个表中的数据拷贝到另一个表中
2013-08-12 13:59 1051声名:a,b ,都是表 --b表存在(两表结构一样)inser ... -
SQLSERVER游标的使用
2013-02-19 15:41 1114declare @user_name varchar( ... -
Tomcat 内存分配
2011-03-25 17:25 873023233232 -
oracle数据备份和还原
2011-01-21 11:19 936imp jwag/jwag@ORA10 file=d:jw ... -
Oracle存储过程
2011-01-14 13:39 750declare cursor c1 is select * ...
相关推荐
在SQL Server 2008中,将一列值转换为一个字符串是一个常见的需求,特别是在进行数据汇总或生成报告时。本篇文章将详细介绍如何利用SQL Server 2008中的功能来实现这一需求,并深入探讨背后的原理和技术要点。 ### ...
### SQL字符串操作汇总知识点 #### 1. `STUFF` 函数 - **定义与功能**:`STUFF` 函数用于将一个字符串中的指定部分替换为另一个字符串。 - **语法**: ```sql STUFF(<源字符串>, <起始位置>, <长度>, <替换字符串...
在SQL语言中,函数是处理数据的强大工具,可以用于各种数据操作,包括数学计算、日期时间处理、字符串操作等。本文将重点介绍SQL中的函数大全,尤其是字符串操作函数,通过详细的例子来阐述这些函数的使用方法。 ##...
- `@length`:用于计算最终SQL查询字符串的长度。 - `mycursor`:游标,用于遍历所有不同的课程名称。 3. **构建动态SQL查询**: - 首先定义SQL查询的基础部分,包括选择学生姓名作为结果的一部分。 - 使用游标...
首先明确“合并多行字符串”的含义:即将多行记录中的某个字段的值汇总到一行中形成一个由特定分隔符连接起来的新字符串。比如,在示例数据中,我们希望将同一个国家的不同城市名称合并成一个字符串。 #### 方法一...
### SQL语句汇总详解 #### 1、CREATETABLE 创建表 - **定义**: `CREATE TABLE` 语句用于创建新的表。 - **语法**: ```sql CREATE TABLE 表名 ( 字段1 类型, 字段2 类型, ... ); ``` - **示例**: ```sql ...
- **STUFF**: 在字符串中删除指定长度的字符,并在该位置插入新的字符串。 **日期函数:** - **GETDATE**: 获取当前系统日期和时间。 - **DATEADD**: 将指定数值添加到指定日期部分。 - **DATEDIFF**: 计算两个日期...
这里,`INT`是整数类型,`VARCHAR(50)`是可变长度字符串,最多50个字符,`CHAR(1)`是固定长度字符串,长度为1。`PRIMARY KEY`是约束,用于指定唯一标识每条记录的字段。 表的基本操作包括插入、查询、更新和删除...
2. **字符串操作**:SQL Server提供了丰富的字符串函数,如LEFT、RIGHT、SUBSTRING用于提取字符串部分,LEN获取字符串长度,REPLACE和PATINDEX用于替换或查找子串,以及UPPER和LOWER转换大小写。 3. **排序与分页**...
- **LENGTH**:获取字符串长度。 - **转换函数**: - **TO_CHAR**:将数字或日期转换为字符串。 - **TO_NUMBER**:将字符串转换为数字。 - **其他函数**: - **GREATEST/LEAST**:找出一组值中的最大值或最小值...
3. **字符串长度限制**:使用字符串拼接时要注意结果字符串的长度限制,避免超出最大允许长度。 4. **测试验证**:在实际部署前,务必对代码进行充分测试,确保逻辑正确无误。 #### 四、总结 本文详细介绍了如何在...
- **LENGTH**:返回字符串的长度。 - **转换函数**: - **TO_CHAR**:将日期或数字转换为字符串。 - **TO_NUMBER**:将字符串转换为数字。 - **其它函数**: - **GREATEST/LEAST**:返回最大/最小值。 - **USER...
Oracle 常用 SQL 语句汇总 Oracle 是一个功能强大且复杂的关系数据库管理系统,它提供了多种 SQL 语句来管理和操作数据库。在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义...
- **LENGTH**:返回字符串长度。 - **转换函数**: - **TO_CHAR**:将数值或日期转换为字符串。 - **TO_NUMBER**:将字符串转换为数字。 - **其它函数**: - **GREATEST**与**LEAST**:返回最大值和最小值。 - ...
- `LEN()`: 返回字符串的长度。 - `LEFT()`: 从字符串左侧返回指定数量的字符。 - `RIGHT()`: 从字符串右侧返回指定数量的字符。 - `UPPER()`, `LOWER()`: 分别将字符串转换为大写和小写。 - `REPLACE()`: 在...
- **RIGHT(column, number)** 和 **LEFT(column, number)** 用于获取字符串的最右或最左侧指定数量的字符。 - 示例: 获取字段的最右侧两个字符。 ```sql SELECT RIGHT(column, 2) AS right_part FROM table_name...
2. **字符串函数**:如LEN、CONCAT、LEFT、RIGHT、SUBSTRING等,它们用于处理文本数据,例如获取字符串长度、拼接字符串、提取子串等。 3. **日期/时间函数**:如GETDATE、DATEADD、DATEDIFF等,它们用于处理日期和...