sql字符串函数说明

合集下载

SQL常用字符串函数

SQL常用字符串函数

SQL常用字符串函数一、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。

在ASCII()函数中,纯数字的字符串可不用'’括起来,但含其它字符的字符串必须用'’括起来使用,否则会出错。

2、CHAR()将ASCII 码转换为字符。

如果没有输入0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。

3、LOWER()和UPPER()LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。

4、STR()把数值型数据转换为字符型数据。

STR (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的小数位数。

如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;当length 小于小数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数小于length ,左边补足空格。

二、去空格函数1、LTRIM() 把字符串头部的空格去掉。

2、RTRIM() 把字符串尾部的空格去掉。

三、取子串函数1、left()LEFT (<character_expression>, <integer_expression>)返回character_expression 左起 integer_expression 个字符。

2、RIGHT()RIGHT (<character_expression>, <integer_expression>)返回character_expression 右起 integer_expression 个字符。

3、SUBSTRING()SUBSTRING (<expression>, <starting_ position>, length) 返回从字符串左边第starting_ position 个字符起length个字符的部分。

常用SQL字符串函数

常用SQL字符串函数

常用SQL字符串函数问题集锦字符串函数对二进制数据、字符串和表达式执行不同的运算。

此类函数作用于CHAR、VARCHAR、BINARY、和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。

可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。

常用的字符串函数有:一、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。

在ASCII()函数中,纯数字的字符串可不用…‟括起来,但含其它字符的字符串必须用…‟括起来使用,否则会出错。

2、CHAR()将ASCII 码转换为字符。

如果没有输入0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。

3、LOWER()和UPPER()LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。

4、STR()把数值型数据转换为字符型数据。

STR (<float_expression>[,length[,<decimal>]])length 指定返回的字符串的长度,decimal 指定返回的小数位数。

如果没有指定长度,缺省的length 值为10,decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;当length 小于小数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数小于length ,左边补足空格。

二、去空格函数1、LTRIM() 把字符串头部的空格去掉。

2、RTRIM() 把字符串尾部的空格去掉。

三、取子串函数1、left()LEFT (<character_expression>,<integer_expression>)返回character_expression 左起integer_expression 个字符。

sql常用格式化函数及字符串函数

sql常用格式化函数及字符串函数

sql常⽤格式化函数及字符串函数⼀.常⽤格式化函数1.⽇期转字符串mysql:date_format()函数select date_format(now(), '%Y-%m-%d %H:%i:%s');%Y:年份%m:⽉份号(01-12)%d:⼀个⽉⾥的⽇(01-31)pg:to_char()函数select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS');YYYY:年份MM:⽉份号(01-12)DD:⼀个⽉⾥的⽇(01-31)HH24:⼀天的⼩时数(00-23)MI:分钟(00-59)SS:秒(00-59)格式化格式可以由以上英⽂字母任意搭配,如可以是'YYYY-MM-DD HH24:MI:SS',也可以是'YYYY-MM-DD',也可以是'YYYYMMDD'。

2.字符串转⽇期mysql:str_to_date()函数select str_to_date('2017-09-18', '%Y-%m-%d %H:%i:%s');select str_to_date('2017-09-18 12:08:35', '%Y-%m-%d %H:%i:%s');pg:select to_date('2017-09-18','YYYY-MM-DD');select to_timestamp('2017-09-18 22:41:50','YYYY-MM-DD HH24:MI:SS');待解析的字符串可以包含时分秒,也可以不包含时分秒。

解析格式同样可以任意指定。

to_date只会取到⽇期,不会取到时分秒,时间是该⽇的0点0分0秒,⽽不管待解析的字符串中时分秒是什么。

SQL字符串函数

SQL字符串函数

SQLᔊ९ࠈ਽ၫ!字符串函数对二进制数据、字符串和表达式执行不同的运算。

此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。

可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。

常用的字符串函数有:一、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。

在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。

2、CHAR()将ASCII 码转换为字符。

如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。

3、LOWER()和UPPER()LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。

4、STR()把数值型数据转换为字符型数据。

STR (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的小数位数。

如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;当length 小于小数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数小于length ,左边补足空格。

二、去空格函数1、LTRIM() 把字符串头部的空格去掉。

2、RTRIM() 把字符串尾部的空格去掉。

三、取子串函数1、left()LEFT (<character_expression>, <integer_expression>)返回character_expression 左起 integer_expression 个字符。

presto常用sql函数

presto常用sql函数

Presto常用SQL函数Presto是一个开源的分布式SQL查询引擎,它支持标准的SQL语法,并且具有高度可扩展性和灵活性。

在Presto中,有许多常用的SQL函数可以帮助我们进行数据处理和分析。

本文将介绍一些常见的Presto SQL函数,包括函数的定义、用途和工作方式等。

1. 常用字符串函数1.1 LENGTH函数定义: LENGTH函数返回指定字符串的长度。

用途:通常用于计算字符串的长度,可以用于校验字符串是否满足长度要求,或者截取指定长度的子串。

示例:SELECT LENGTH('Hello World'); -- 输出结果为 111.2 SUBSTRING函数定义: SUBSTRING函数从指定位置开始截取字符串中的一部分。

用途:可以用于从一个较长的字符串中提取出需要的部分信息。

示例:SELECT SUBSTRING('Hello World', 7); -- 输出结果为 'World'1.3 CONCAT函数定义: CONCAT函数将两个或多个字符串连接起来。

用途:可以将多个字段或者固定文本连接成一个新的字符串。

示例:SELECT CONCAT('Hello', ' ', 'World'); -- 输出结果为 'Hello World'1.4 REPLACE函数定义: REPLACE函数将指定字符串中的某个子串替换为新的子串。

用途:可以用于替换字符串中的特定内容,例如替换敏感词汇。

示例:SELECT REPLACE('Hello World', 'World', 'Presto'); -- 输出结果为 'Hello Presto'1.5 UPPER和LOWER函数定义: UPPER函数将字符串转换为大写,LOWER函数将字符串转换为小写。

sql 字符串查找 函数

sql 字符串查找 函数

sql 字符串查找函数SQL字符串查找函数是一种非常有用的工具,它可以帮助我们在SQL查询中定位和过滤特定字符串。

无论是在表达式中,还是在WHERE子句或SELECT语句中使用这些函数,都可以加强查询的灵活性和准确性。

在本文中,我将一步一步地回答有关SQL字符串查找函数的问题,以帮助您更好地理解和使用它们。

第一步:了解SQL字符串查找函数的基本概念SQL字符串查找函数是一组用于在文本字符串中查找指定模式的函数。

它们通常用于按特定条件搜索和过滤数据。

在不同的数据库管理系统中,可能会有不同的字符串查找函数,但大多数常用的函数包括以下几种:LIKE、INSTR、CHARINDEX、PATINDEX、REGEXP、SUBSTRING和REPLACE。

下面我们将更详细地讨论其中的几个函数。

第二步:使用LIKE函数查找字符串LIKE函数是最常见和最常用的字符串查找函数之一。

它用于在文本字符串中查找与指定模式相匹配的子字符串。

在LIKE函数中,可以使用特殊字符通配符,如百分比符号()和下划线(_),以及逻辑运算符(OR和AND)来定义搜索条件。

例如,我们可以使用以下语句在一个名为"customers"的表中查找所有以字母"A"开头的客户姓名:SELECT * FROM customers WHERE customer_name LIKE 'A'第三步:使用INSTR和CHARINDEX函数查找字符串的位置INSTR函数常用于Oracle数据库,而CHARINDEX函数则常用于SQL Server数据库。

这两个函数都用于查找一个字符串中另一个字符串的位置。

它们的语法非常相似,只是在不同的数据库管理系统中有所不同。

以下是两个函数的示例用法:在Oracle数据库中,我们可以使用INSTR函数来查找一个子字符串在另一个字符串中的位置。

例如,我们可以使用以下语句查找所有包含"apple"的产品描述:SELECT * FROM products WHERE INSTR(product_description,'apple') > 0在SQL Server数据库中,我们可以使用CHARINDEX函数来实现相同的功能。

sql server 字符串函数

sql server 字符串函数

sql server 字符串函数SQL Server字符串函数是在SQL Server中操作字符串的常用方法,它可以帮助我们从字符串中提取数据,比如提取字母或数字,还可以对字符串进行分割和重组,甚至可以计算字符串中字符的长度。

SQL Server中提供了许多字符串函数,比如LEN()函数、SUBSTRING()函数、LEFT()函数、RIGHT()函数等,这些函数都可以帮助我们完成不同的字符串操作。

LEN()函数是SQL Server中最简单的字符串函数,它可以计算一个字符串的长度,比如计算一个文本字段中的字符数,我们可以使用LEN()函数:SELECT LEN(text_field) FROM table_name;SUBSTRING()函数可以从字符串中提取指定数量的字符,比如提取文本字段中的前5个字符,可以使用SUBSTRING()函数:SELECT SUBSTRING(text_field,1,5) FROM table_name;LEFT()函数可以从字符串的左边开始提取指定数量的字符,比如提取文本字段中的前5个字符,可以使用LEFT()函数:SELECT LEFT(text_field,5) FROM table_name;RIGHT()函数可以从字符串的右边开始提取指定数量的字符,比如提取文本字段中的后5个字符,可以使用RIGHT()函数:SELECT RIGHT(text_field,5) FROM table_name;CHARINDEX()函数可以查找指定字符串在字符串中的位置,比如查找文本字段中是否包含指定字符串,可以使用CHARINDEX()函数:SELECT CHARINDEX('string',text_field) FROM table_name;REPLACE()函数可以替换字符串中的某一部分内容,比如替换文本字段中的特定字符,可以使用REPLACE()函数:SELECT REPLACE(text_field,'old_string','new_string') FROM table_name;CONCAT()函数可以将多个字符串组合在一起,比如将两个字符串组合在一起,可以使用CONCAT()函数:SELECT CONCAT(string1,string2) FROM table_name;这些SQL Server字符串函数都可以帮助我们完成不同的字符串操作,比如提取字符、分割字符、替换字符等,它们可以帮助我们更有效率地完成数据处理工作。

sql 字符串函数

sql 字符串函数

sql 字符串函数
SQL字符串函数是SQL中的一种函数,用于操纵字符串,如查找子字符串、替换字符串、获取子字符串、提取字符串中字符的数量等,以完成灵活且复杂的字符串操作。

SQL中常用的字符串函数有:
1.LEN()函数:返回字符串中字符的数量。

2.LEFT()函数:可以从字符串左边开始返回指定数量的字符。

3.RIGHT()函数:可以从字符串右边开始返回指定数量的字符。

4.INSTR()函数:可以查找指定的字符串在另一个字符串中的位置。

5.SUBSTR()函数:可以从字符串中提取子字符串。

6.REPLACE()函数:可以用另一个字符串中的字符替换字符串中的字符。

7.LOWER()函数:可以将字符串中的所有字符变为小写字母。

8.UPPER()函数:可以将字符串中的所有字符变为大写字母。

9.CONCAT()函数:可以将两个字符串合并为一个字符串。

10.LPAD()函数:可以将字符串前面用特定的字符填充指定的位数。

11.RPAD()函数:可以将字符串后面用特定的字符填充指定的位数。

以上就是SQL中常用的几种字符串函数,可以满足大多数SQL用户对字符串操作的需求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

死亡循环淡定如果有一天晚上,你从家里出去,你发现楼梯一直往下延伸,永远没有尽头,你永远找不到出口,你会怎么想?爱情没有永恒,只有彼此的慰藉和责任。

{0:P}百分号格式化字符串A brother is only a fame//legend哥只是个传说CREATE PROCEDURE proc_parameterNumber@SingleNumberId varchar(10),@SingleNumber varchar(10) outputASBEGINif not exists (select * from SingleNumber where SingleNumberId=@SingleNumberId) beginset @SingleNumber=''returnendelsebegindeclare @Prefixion varchar(10)declare @Number bigintdeclare @Width tinyintselect @Prefixion=Prefixion,@Number=Number,@Width=Width from SingleNumber where SingleNumberId=@SingleNumberIdupdate SingleNumber set Number=Number+1 where SingleNumberId=@SingleNumberId declare @currentNumber varchar(100)@currentNumber='00000000000000000000000'+@Numberset @SingleNumber=@currentNumberendENDGO/// <summary>/// 添加项目对应的课程/// </summary>/// <param name="courseIds">课程Id数组</param>/// <param name="projectId">项目id</param>public static void AddCourseSettings(int[] courseIds, string projectId){SqlParameterList splist = new SqlParameterList();splist.AddAParameter("@ProjectId", SqlDbType.Char, 8, projectId);string strSql = "";for (int i = 0; i < courseIds.Length; i++){splist.AddAParameter("@CourseId" + i.ToString(), SqlDbType.Int, courseIds[i]);strSql += string.Format(@"if exists(select * from CourseSetting where ProjectId=@ProjectId and CourseId=@CourseId{0})return;elseinsert into CourseSetting(ProjectId,CourseId) values (@ProjectId,@CourseId{0}); end", i);DataAccessor.ExecuteSqlOnly(strSql, false, splist);}}declare @PayAbleTuition int --应交费用select @PayAbleTuition=PayAbleTuition from PayCondition where PayConditionId=1if not exists (select TuitionId from Tuition where PayConditionId=1)--预交一次交清保留 @TuitionAmount:当前所交费用beginif(@TuitionAmount<@PayAbleTuition)select '预交'else if(@TuitionAmount=@PayAbleTuition)select '一次交清'elseselect '保留'endelse--补交补齐保留begindeclare @PaidTuition int --已交费用select @PaidTuition=sum(TuitionAmount) from Tuition where PayConditionId=1if(@PaidTuition+@TuitionAmount<@PayAbleTuition)select '补交'else if(@PaidTuition+@TuitionAmount=@PayAbleTuition)select '补齐'elseselect '保留'endwinForm窗体中,快捷键是(&字母) 如:显示(&D) 则表示"显示"的快捷键是字母Ddatediff(datepart,startTime,endTime)说明:(endtime-starttime的结果转化为datepart)该函数返回int类型如:select datediff(ss,'2010-4-14 10:30:20','2010-4-15 10:30:21')结果是86401(结果是一天零一秒,即86401秒)dateadd(datepart,number,date)说明:在datepart部分增加number该函数返回datetime类型如:select dateadd(mi,-20,'2010-3-4 12:45:25')返回2010-3-4 12:25:25update exam set ExamScore=null where id=5select top 2 TestLibraryId,SubjectName,exerciseTypeName,ExerciseCount,perscore,IsImpersonalEx ercise,es.ExerciseId as 'ExerciseIdNew',tl.subjectId as 'subjectIdNew',testtitle,subjectiveAnswer,ImpersonalAnswer from Subject as sinner join Testlibrary as tlon s.subjectId=tl.subjectIdinner join ExamSetting as eson tl.ExerciseId=es.ExerciseIdinner join ExerciseType as eton et.exerciseId=tl.exerciseIdwhere s.subjectId=4 and es.exerciseId=5 and tl.subjectId=es.subjectId and es.exerciseId=et.exerciseIdorder by newid()selectExamApplyId,ExamineeId,ExamineeName,SubjectName,StartTime,SubmitTime,sum(PerScore) as 'TotalScore',sum(Examscore) as 'FactScore' from(select ea.ExamApplyId as 'ExamApplyId',em.ExamineeId as 'ExamineeId',ExamineeName,SubjectName,StartTime,SubmitTime,PerScore,ExamScore from Exam as einner join ExamApply as eaon e.ExamApplyId=ea.ExamApplyId and e.ExamineeId=ea.ExamineeIdinner join Examinee as emon em.ExamineeId=e.ExamineeId and em.ExamineeId=ea.ExamineeIdinner join Subject as son s.SubjectId=ea.SubjectIdwhere e.ExerciseTypeName is not null) as tempTablegroup by ExamApplyId,ExamineeId,ExamineeName,SubjectName,StartTime,SubmitTime闷骚:敢想不敢做select ExerciseTypeName,min(examId) as 'aa' from Exam where examapplyId=26 and ExerciseTypeName is not null group by ExerciseTypeName order by aaselect em.ExamineeId as 'ExamineeIdTemp',ExamineeName,StartTime,SubmitTime,SubjectName,ea.ExamApplyId as 'ExamApplyIdTemp' from Exam as einner join ExamApply as eaon e.ExamApplyid=ea.ExamApplyIdinner join Examinee as emon em.ExamineeId=e.ExamineeIdinner join Subject as son s.SubjectId=ea.subjectIdwhere examid in(select ExamId from(select min(ExamId) as 'ExamId',examApplyid from exam group by examApplyid) as jj) and e.ExamineeId=ea.ExamineeId and ea.ExamineeId=em.ExamineeId找出最小的ExamId,通过examApplyid来分组select *from Examwhere examid in(select ExamId from(select min(ExamId) as 'ExamId',examApplyid from exam group by examApplyid) as jj)----select min(ExamId),examApplyid from exam group by examApplyidselectExamApplyIdTemp,ExamineeIdTemp,ExamineeName,SubjectName,StartTime,SubmitTime,Sum (perScore) as 'TotalScore',sum(ExamScore) as 'FactScore' from(select ea.ExamApplyId as 'ExamApplyIdTemp',e.ExamineeId as 'ExamineeIdTemp',ExamineeName,SubjectName,StartTime,SubmitTime,PerScore,Exercise Count,ExamScorefrom ExamApply as ea left join Examinee as eon ea.ExamineeId=e.ExamineeIdinner join Subject as son s.SubjectId=ea.SubjectIdinner join Exam as exon ea.ExamApplyId=ex.ExamApplyIdinner join ExamSetting as eson es.SubjectId=s.SubjectIdwhere ex.ExamineeId=e.ExamineeId and es.SubjectId=ea.SubjectId and es.ExerciseId=ex.ExerciseId) as newTablewhere ExamApplyIdTemp='17'group by ExamApplyIdTemp,ExamineeIdTemp,ExamineeName,SubjectName,StartTime,SubmitTime--变态sql语句select top 10 TestTitle,exerciseTypeName,IsImpersonalExercise,perscore,ExerciseCount,aa,subjec tiveAnswer,ImpersonalAnswer from (select exerciseTypeName,IsImpersonalExercise,es.ExerciseId,tl.subjectId,es.ExerciseId as 'aa',perscore,testtitle,subjectiveAnswer,ImpersonalAnswer,ExerciseCount from Subject as sinner join Testlibrary as tlon s.subjectId=tl.subjectIdinner join ExamSetting as eson tl.ExerciseId=es.ExerciseIdinner join ExerciseType as eton et.exerciseId=tl.exerciseIdwhere s.subjectId=4 and tl.subjectId=es.subjectId and es.exerciseId=et.exerciseId) as jjorder by newid()Response.Write(Server.HtmlEncode("<br />"));//可以强制输出<br />,而不是换行Response.Write("<script>alert(\"alert('你好')\")</script>");//可以强制输出alert('你好')Response.Write(Server.HtmlEncode("<script>alert(\"你好\")</script>"));//可以强制输出<script>alert('你好')</script><![CDATA['aa']]> 可以允许放入"<a>连接</a>"这样的内容<asp:listbox>控件相当于<select multiple="multiple"><option>(允许多行选中。

相关文档
最新文档