mssql常用函数
- 格式:docx
- 大小:23.78 KB
- 文档页数:8
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个字符的部分。
mssql正则用法-回复MSSQL正则用法是指在Microsoft SQL Server中使用正则表达式进行模式匹配的方法。
这种方法可以帮助用户在数据库中进行高效的数据搜索和处理。
在本文章中,我们将详细介绍MSSQL正则用法,包括如何使用正则表达式进行基本的模式匹配,以及如何通过正则表达式进行高级的数据查询和替换操作。
第一部分:基本的模式匹配在MSSQL中使用正则表达式进行基本的模式匹配非常简单。
MSSQL提供了几个内置的正则函数,其中最常用的是LIKE和PATINDEX函数。
1. 使用LIKE函数进行模式匹配:LIKE函数用于在查询中匹配指定模式的字符串。
它使用通配符来表示字符的模式。
通配符有两个主要的用法:- 百分号()表示任意字符的出现零次或多次。
- 下划线(_)表示任意单个字符的出现一次。
例如,我们有一个表名为"employees",其中包含一个列名为"lastName"的列。
假设我们希望找到所有以字母"A"开头的姓氏,可以使用以下查询:SELECT * FROM employees WHERE lastName LIKE 'A';上述查询将返回所有以字母"A"开头的姓氏。
2. 使用PATINDEX函数进行模式匹配:PATINDEX函数用于在字符串中查找指定模式的位置。
它返回指定模式的起始位置。
如果模式不存在,则返回0。
例如,假设我们有一个表名为"products",其中包含一个列名为"description"的列。
假设我们希望找到所有包含字母"A"的描述,可以使用以下查询:SELECT * FROM products WHERE PATINDEX('A', description) > 0;上述查询将返回所有包含字母"A"的描述。
sql常用函数及用法SQL是一种使用结构化查询语言来管理关系数据库系统的编程语言。
在SQL中,有许多常用函数可用于在查询中计算结果值。
常用函数通常包括聚合函数、字符串函数、日期和时间函数、数学函数、条件函数等。
以下是SQL常用函数及其用法的参考内容。
1. 聚合函数聚合函数在SQL中用于计算和汇总数据。
最常用的聚合函数是SUM、AVG、MAX和MIN。
例如:SELECT SUM(salary) FROM employee;这将返回员工表中所有员工的总工资。
2. 字符串函数字符函数用于处理文本数据。
最常用的字符函数是LEN、UPPER、LOWER、SUBSTRING和CONCAT。
例如:SELECT UPPER(last_name) FROM employee;这将返回所有员工的姓氏的大写形式。
3. 日期和时间函数日期和时间函数用于处理日期和时间数据。
最常用的日期和时间函数是NOW、YEAR、MONTH、DAY和HOUR。
例如:SELECT YEAR(hire_date) FROM employee;这将返回每个员工被雇用的年份。
4. 数学函数数学函数用于计算数值数据。
最常用的数学函数是ABS、ROUND、CEILING和FLOOR。
例如:SELECT ABS(salary) FROM employee;这将返回员工工资的绝对值。
5. 条件函数条件函数根据给定的条件返回不同的结果。
最常用的条件函数是IF、CASE和COALESCE。
例如:SELECT IF(salary>50000, "High", "Low") FROM employee;这将返回“高”或“低”,具体取决于每个员工的工资是否大于50000。
总的来说,SQL中的常用函数可以大大简化数据处理和查询操作。
在实际使用时,根据需要选择适当的函数和参数可以大大提高工作效率。
mssql 分页查询语句MSSQL是一种常用的关系型数据库管理系统,支持分页查询语句。
在进行分页查询时,可以使用OFFSET FETCH或ROW_NUMBER 函数来实现。
下面列举了10个符合标题内容的MSSQL分页查询语句。
1. 使用OFFSET FETCH实现分页查询```SELECT *FROM table_nameORDER BY column_nameOFFSET (page_number - 1) * page_size ROWSFETCH NEXT page_size ROWS ONLY;```2. 使用ROW_NUMBER函数实现分页查询```SELECT *FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_name) AS subWHERE row_num BETWEEN ((page_number - 1) * page_size + 1) AND (page_number * page_size);```3. 使用CTE和ROW_NUMBER函数实现分页查询```WITH cte AS (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_name)SELECT *FROM cteWHERE row_num BETWEEN ((page_number - 1) * page_size + 1) AND (page_number * page_size);```4. 使用OFFSET FETCH和JOIN实现分页查询```SELECT t1.*FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_name) AS t1JOIN (SELECT column_nameFROM table_nameORDER BY column_nameOFFSET (page_number - 1) * page_size ROWSFETCH NEXT page_size ROWS ONLY) AS t2 ON t1.column_name = t2.column_name;```5. 使用OFFSET FETCH和子查询实现分页查询```SELECT *FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_name) AS subWHERE sub.column_name IN (SELECT column_nameFROM table_nameORDER BY column_nameOFFSET (page_number - 1) * page_size ROWSFETCH NEXT page_size ROWS ONLY);```6. 使用CTE和ROW_NUMBER函数实现分页查询(带条件)```WITH cte AS (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_nameWHERE condition)SELECT *FROM cteWHERE row_num BETWEEN ((page_number - 1) * page_size + 1) AND (page_number * page_size);```7. 使用OFFSET FETCH和子查询实现分页查询(带条件)```SELECT *FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_nameWHERE condition) AS subWHERE sub.column_name IN (SELECT column_nameFROM table_nameWHERE conditionORDER BY column_nameOFFSET (page_number - 1) * page_size ROWSFETCH NEXT page_size ROWS ONLY);```8. 使用OFFSET FETCH和JOIN实现分页查询(带条件)```SELECT t1.*FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_nameWHERE condition) AS t1JOIN (SELECT column_nameFROM table_nameWHERE conditionORDER BY column_nameOFFSET (page_number - 1) * page_size ROWSFETCH NEXT page_size ROWS ONLY) AS t2 ON t1.column_name = t2.column_name;```9. 使用OFFSET FETCH和子查询实现分页查询(带多个条件)```SELECT *FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name)AS row_numFROM table_nameWHERE condition1 AND condition2) AS subWHERE sub.column_name IN (SELECT column_nameFROM table_nameWHERE condition1 AND condition2ORDER BY column_nameOFFSET (page_number - 1) * page_size ROWSFETCH NEXT page_size ROWS ONLY);```10. 使用OFFSET FETCH和JOIN实现分页查询(带多个条件)```SELECT t1.*FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY column_name) AS row_numFROM table_nameWHERE condition1 AND condition2) AS t1JOIN (SELECT column_nameFROM table_nameWHERE condition1 AND condition2ORDER BY column_nameOFFSET (page_number - 1) * page_size ROWSFETCH NEXT page_size ROWS ONLY) AS t2 ON t1.column_name = t2.column_name;```以上是10个符合标题内容的MSSQL分页查询语句,可以根据具体需求选择适合的语句进行分页查询操作。
mysql常用的聚合函数MySQL是一种常用的关系型数据库管理系统,它提供了许多强大的聚合函数,用于统计和计算数据。
在本文中,我们将介绍一些常用的MySQL聚合函数,并探讨它们的用法和作用。
一、COUNT函数COUNT函数用于统计某个列或表中的行数。
它可以用来计算表中的记录数量,或者根据条件统计满足条件的记录数量。
例如,我们可以使用以下语句统计一个表中的记录数量:SELECT COUNT(*) FROM table_name;二、SUM函数SUM函数用于计算某个列的总和。
它可以用于计算数值型数据的总和,比如销售额、订单数量等。
例如,我们可以使用以下语句计算一个表中某个列的总和:SELECT SUM(column_name) FROM table_name;三、AVG函数AVG函数用于计算某个列的平均值。
它可以用于计算数值型数据的平均值,比如平均销售额、平均订单数量等。
例如,我们可以使用以下语句计算一个表中某个列的平均值:SELECT AVG(column_name) FROM table_name;四、MAX函数MAX函数用于找出某个列的最大值。
它可以用于寻找数值型数据中的最大值,或者日期型数据中的最晚日期。
例如,我们可以使用以下语句找出一个表中某个列的最大值:SELECT MAX(column_name) FROM table_name;五、MIN函数MIN函数用于找出某个列的最小值。
它可以用于寻找数值型数据中的最小值,或者日期型数据中的最早日期。
例如,我们可以使用以下语句找出一个表中某个列的最小值:SELECT MIN(column_name) FROM table_name;六、GROUP BY子句GROUP BY子句用于根据某个列对结果进行分组。
它可以将相同值的行分为一组,并进行聚合计算。
例如,我们可以使用以下语句根据某个列对表中的数据进行分组,并计算每组的平均值:SELECT column_name, AVG(column_name) FROM table_name GROUP BY column_name;七、HAVING子句HAVING子句用于过滤分组后的结果。
MSSQL⾃定义函数详解⾃定义函数分为:标量值函数或表值函数如果 RETURNS ⼦句指定⼀种标量数据类型,则函数为标量值函数。
可以使⽤多条 Transact-SQL 语句定义标量值函数。
如果 RETURNS ⼦句指定 TABLE,则函数为表值函数。
表值函数⼜可分为:内嵌表值函数(⾏内函数)或多语句函数如果 RETURNS ⼦句指定的 TABLE 不附带列的列表,则该函数为内嵌表值函数。
如果 RETURNS ⼦句指定的 TABLE 类型带有列及其数据类型,则该函数是多语句表值函数。
标量值函数⽰例CREATE FUNCTION dbo.Foo()RETURNS INTASBEGINDECLARE @n INTSELECT @n = 3RETURN @nEND内嵌表值函数⽰例CREATE FUNCTION dbo.Foo()RETURNS TABLEASRETURNSELECT id,titleFROM msgs多语句表值函数⽰例(部分)CREATE FUNCTION dbo.fn_FindReports (@InEmpID INTEGER)RETURNS @retFindReports TABLE(EmployeeID int primary key NOT NULL,Name nvarchar(255) NOT NULL,Title nvarchar(50) NOT NULL,EmployeeLevel int NOT NULL,Sort nvarchar (255) NOT NULL)--Returns a result set that lists all the employees who report to the--specific employee directly or indirectly.*/ASBEGINWITH DirectReports(Name, Title, EmployeeID, EmployeeLevel, Sort) AS(SELECT CONVERT(Varchar(255), c.FirstName + ' ' + stName),e.Title,e.EmployeeID,1,CONVERT(Varchar(255), c.FirstName + ' ' + stName)FROM HumanResources.Employee AS eJOIN Person.Contact AS c ON e.ContactID = c.ContactIDWHERE e.EmployeeID = @InEmpIDUNION ALLSELECT CONVERT(Varchar(255), REPLICATE ('| ' , EmployeeLevel) +c.FirstName + ' ' + stName),e.Title,e.EmployeeID,EmployeeLevel + 1,CONVERT (Varchar(255), RTRIM(Sort) + '| ' + FirstName + ' ' +LastName)FROM HumanResources.Employee as eJOIN Person.Contact AS c ON e.ContactID = c.ContactIDJOIN DirectReports AS d ON e.ManagerID = d.EmployeeID)-- copy the required columns to the result of the functionINSERT @retFindReportsSELECT EmployeeID, Name, Title, EmployeeLevel, SortFROM DirectReportsRETURNEND;GO在以下⽰例中,调⽤了此函数。
mysql中常用函数函数是MySQL中非常重要的一部分,它们可以帮助我们更方便、更高效地操作数据库。
下面是MySQL中常用函数的详细介绍:1.字符串函数:1.1 CONCAT:将两个或多个字符串连接起来。
语法:CONCAT(string1,string2,...)示例:SELECT CONCAT('Hello',' ','World'); //输出结果为'Hello World'1.2 SUBSTRING:返回一个字符串的子串。
语法:SUBSTRING(string,start,length)示例:SELECT SUBSTRING('Hello World',7,5); //输出结果为'World'1.3 REPLACE:替换一个字符串中的所有匹配项。
语法:REPLACE(string,old,new)示例:SELECT REPLACE('Hello World','World','MySQL'); //输出结果为'Hello MySQL'2.数值函数:2.1 ABS:返回一个数的绝对值。
语法:ABS(number)示例:SELECT ABS(-10); //输出结果为102.2 CEILING/FLOOR:向上/向下取整。
语法:CEILING(number) / FLOOR(number)示例:SELECT CEILING(3.14); //输出结果为42.3 RAND:返回一个随机数。
语法:RAND()示例:SELECT RAND(); //输出结果为0-1之间的随机数3.日期和时间函数:3.1 NOW/CURDATE/CURTIME: 返回当前日期/时间信息。
语法: NOW() / CURDATE() / CURTIME()示例: SELECT NOW(); // 输出结果为当前日期和时间3.2 DATE_FORMAT: 格式化日期和时间信息。
MySQL数据库常用函数大全字符串函数字符串函数是最常用的一种函数,MySQL支持很多种字符串函数。
下列是MySQL支持的字符串函数表。
1、LOWER(str) 和UPPER(str)函数:用于转换大小写。
2、CONCAT(s1,s2…sn): 把传入的参数拼接成一个字符串。
任何和NULL进行字符串拼接的结果都是NULL。
3、LEFT(str,x) 和RIGHT(str,x) 函数:分别返回字符串最左边的x个字符和最右边的x个字符。
如果第二个参数是NULL,那么将不会返回任何字符串。
4、INSERT(str,x,y,instr): 将字符串str 从指定x的位置开始,取y个长度的字串替换为instr。
5、LTRIM(str)和RTRIM(str)分别表示去掉字符串str左侧和右侧的空格。
6、REPEAT(str,x)函数:返回str 重复x次的结果。
7、TRIM(str)函数,用于去掉目标字符串的空格。
8、SUBSTRING(str,x,y)函数,返回从字符串str中第x位置起y个字符长度的字符串。
9、LPAD(str,n,pad)和RPAD(str,n,pad)函数,用字符串pad对str左边和右边进行填充,直到长度为n个字符长度。
10、STRCMP(s1,s2)用于比较字符串s1和s2的ASCII值大小。
如果s1<s2,则返回-1,如果s1=s2,则返回0,如果s1>s2,则返回1。
11、REPLACE(str,a,b),用字符串b替换字符串str中所有出现的字符串a。
数值函数MySQL支持数值函数,这些函数能够处理很多数值运算。
1、A B S ( x )函数,返回x 的绝对值2、C E I L ( x )函数,返回大于x 的整数。
、M O D ( x , y ),对x 和y 进行取模操作。
、R O U N D ( x , y )返回x 四舍五入后保留位小数的值,如果是整数,那么y 为就是0,如不指定,那么y 默认也是0。
sql常用的五个函数SQL是一种用于管理关系型数据库的语言,它可以用来查询、插入、更新和删除数据。
在SQL中,函数是一种特殊的语句,它可以用来处理数据并返回结果。
在本文中,我们将介绍SQL常用的五个函数。
一、COUNT函数COUNT函数用于统计某个表中符合条件的记录数。
其基本语法如下:SELECT COUNT(column_name) FROM table_name WHERE condition;其中,column_name表示要统计的列名,table_name表示要统计的表名,condition表示统计条件。
例如,在一个学生信息表中,我们想要统计出性别为男性的学生人数,则可以使用如下语句:SELECT COUNT(*) FROM student WHERE gender='male';这条语句会返回一个数字,即男性学生人数。
二、SUM函数SUM函数用于对某个列进行求和操作。
其基本语法如下:SELECT SUM(column_name) FROM table_name WHERE condition;其中,column_name表示要求和的列名,table_name表示要求和的表名,condition表示求和条件。
例如,在一个销售记录表中,我们想要统计出所有销售额的总和,则可以使用如下语句:SELECT SUM(sales_amount) FROM sales_record;这条语句会返回一个数字,即所有销售额的总和。
三、AVG函数AVG函数用于对某个列进行求平均值操作。
其基本语法如下:SELECT AVG(column_name) FROM table_name WHERE condition;其中,column_name表示要求平均值的列名,table_name表示要求平均值的表名,condition表示求平均值条件。
例如,在一个学生成绩表中,我们想要统计出所有学生的平均成绩,则可以使用如下语句:SELECT AVG(score) FROM student_score;这条语句会返回一个数字,即所有学生的平均成绩。
MS 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个字符的部分。
四、字符串比较函数1、CHARINDEX()返回字符串中某个指定的子串出现的开始位置。
CHARINDEX (<‟substring_expression‟>,<expression>)其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。
如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。
2、PATINDEX()返回字符串中某个指定的子串出现的开始位置。
PATINDEX (<‟%substring _expression%‟>,<column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、VARCHAR 和TEXT 数据类型。
五、字符串操作函数1、QUOTENAME()返回被特定字符括起来的字符串。
QUOTENAME (<‟character_expression‟>[,quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。
2、REPLICATE()返回一个重复character_expression指定次数的字符串。
REPLICATE (character_expressioninteger_expression) 如果integer_expression值为负值,则返回NULL 。
3、REVERSE()将指定的字符串的字符排列顺序颠倒。
REVERSE (<character_expression>) 其中character_expression可以是字符串、常数或一个列的值。
4、REPLACE()返回被替换了指定子串的字符串。
REPLACE (<string_expression1>,<string_expression2>,<string_expression3>) 用string_expression3 替换在string_expression1 中的子串string_expression2。
5、SPACE()返回一个有指定长度的空白字符串。
SPACE (<integer_expression>) 如果integer_expression值为负值,则返回NULL 。
6、STUFF()用另一子串替换字符串指定位置、长度的子串。
STUFF (<character_expression1>,<start_ position>,<length>,<character_expression2>)如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。
如果length 长度大于character_expression1 中start_ position 以右的长度,则character_expression1 只保留首字符。
六、数据类型转换函数1、CAST()CAST (<expression> AS <data_ type>[ length ])2、CONVERT()CONVERT (<data_ type>[ length ],<expression> [,style])1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用CONVERT()函数的style 选项能以不同的格式显示日期和时间。
style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。
七、日期函数1、day(date_expression)返回date_expression中的日期值2、month(date_expression)返回date_expression中的月份值3、year(date_expression)返回date_expression中的年份值4、DATEADD()DATEADD (<datepart>,<number>,<date>)返回指定日期date 加上指定的额外日期间隔number 产生的新日期。
如:dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0005、DATEDIFF()DATEDIFF (<datepart>,<date1>,<date2>)返回两个指定日期在datepart方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。
如:datediff(day,'2004-09-01','2004-09-18') --返回:176、DATENAME()DATENAME (<datepart>,<date>)以字符串的形式返回日期的指定部分此部分。
由datepart来指定。
如:datename(weekday, '2004-10-15') --返回:星期五本年第多少周:datename(week,'2004-10-15')7、DATEPART()DATEPART (<datepart>,<date>)以整数值的形式返回日期的指定部分。
此部分由datepart来指定。
DATEPART (dd,date) 等同于DAY (date)DATEPART (mm,date) 等同于MONTH (date)DATEPART (yy,date) 等同于YEAR (date)如:DATEPART(month, '2004-10-15') --返回108、GETDATE()以DATETIME 的缺省格式返回系统当前的日期和时间八、用户自定义函数用户自定义函数可以像系统函数一样在SELECT查询或其它程序(如存储过程、触发器等)中使用。
定义方法:CREATE FUNCTION…(略)。
九、函数大全1、在SQL查询分析器的“对象浏览器”(“工具|对象浏览器|显示/隐藏”菜单)中有分类列表。
2、联机帮助的“Transact-SQL参考”|“函数”目录中有详细的说明文档。
select len('中国a')select upper('abc')select lower('ABC')selectrtrim(' abc ') unionselectltrim(' abc ')select replace('abcdefg','cd','xx')select stuff('abcdefg',2,3,'xx')select right('abcdefg',2)select left('abcdefg',2)selectcharindex('cd','abcdefg')--日期函数selectgetdate()selectdateadd(mm,4,getdate())selectdatediff(mm,'2009-1-1','2009-3-1') selectdatename(dw,'2009-1-1')select datepart(dw,'2009-1-1') --返回星期-1--数学函数select abs(-43) --绝对值select ceiling(43.5) --顶select floor(43.5) --底select round(43.543,1) --四舍五入select sign(-43) --正负select power(3,2) --幂select sqrt(9) --开方select convert(varchar(5),12345) --转变数据类型select current_user --数据库登录的用户名select datalength('中国A级赛试') --字节数select host_name() --登录的计算机名字select system_user --当前所登录的用户名select user_name --从任意数据库中返回"dbo"============== 例2 ================ 问:请教一个SQL2000SEVER问题:select * from itemcodewhere code like '40%'如何让code=40101001 变成code=401-01-001目前有666个CODE是类似40101001用什么语句能把它变成401-01-001答:updateitemcodeset code=replace(code,left(code,8),left(code,3)+'-'+substring(code,4,2) +'-'+substring(code,6,3))where code like '40%'-----------------------------------------------问:replace(code,left(code,8),left(code,3)+'-'+substring(code,4,2)+'-'+substring(code,6,3))是什么意思? 答:拿code=123456789 做例子a = left(code,8) = 12345678b = left(code,3) = 123c = substring(code,4,2) = 45d = substring(code,6,3) = 678e = b+'-'+c+'-'+e = 123-45-678f = replace(code,a,e) = 123-45-6789配合下边的来看,应该能明白了1、left(code,8) 取前8位2、substring(code,4,2) 从第4位开始取2位3、+ 是字符串连接符4、replace(a,str1,str2) 将a中的str1替换为str2 ================================。