mssql常用函数

合集下载

SQL内置函数大全

SQL内置函数大全

upper,将字符串中每个小写字母转换为大写字母 initcap,将字符串中每个词的首写字母转换成大写 replace,将字符串中的某一组字符转换成其他字符,例replace(col,”each”,”eve”) substr,返回字符串中的某一部分,例substr(col,1,2) substring,返回字符串中的某一部分,例substring(col,from 1 to 4) lpad,使用lpad函数已用重复次数达到必要次数的字符序列在左边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。 举例:字段 col 为char(15)类型,select lpad(col,21,”_”) from tab_name则显示为在col前加上六个_。 Rpad,使用rpad函数已用重复次数达到必要次数的字符序列在右边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。 举例:字段col为char(15)类型,select rpad(col,21,”_”) from tab_name则显示为在col后边加上六个_。 10、其他函数: hex,返回表达式的十六进制数 round,返回表达式的四舍五入值 trunc,返回表达式的截断值 length,计算表达式的长度 user,返回执行查询的用户的用户名(登陆帐户名) today,返回当前系统日期 dbservername,返回数据库服务器的名称,同sitename dbinfo,返回数据库的相关信息 decode,函数来将一个具有一个值的表达式转换为另一个值 decode(test,a,a_value,b,b_value,c,c_value……),decode函数不支持TEXT和BYTE类型。 Nvl,来将求值为空的表达式转化为另一个想要指定的值。 另外还可以在select语句中使用存储过程,如select spl($test) from tab_name 二、IDS内部函数 1、DBSERVERNAME 返回数据库服务器名 let tmp_char=DBSERVERNAME 2、SITENAME 返回数据库服务器名 let tmp_char=SITENAME 说明:两者功能相同; 3、DBINFO(‘SPECIAL_KEYWORD') 返回只关键字值 例子1:返回数据中每个表的DBSPACE名称 select dbinfo('dbspace',partnum),tabname from systables where tabid>99 and tabtype='T' (OK) 例子2:返回任何表中插入的最后一个SERIAL值 select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1 例子3:返回最后一个SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE语句处理的行数; select dbinfo('sqlca.sqlerrd2') from systables where tabid=1; 10. SQL函数大全 --聚合函数 select avg(distinct price) --算平均数from title where type='business' select max(ytd_sales) --最大数from titles select min(ytd_sales) --最小数from titles select type,sum(price),sum(advance) --求和

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个字符的部分。

mssql正则用法 -回复

mssql正则用法 -回复

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是一种使用结构化查询语言来管理关系数据库系统的编程语言。

在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 分页查询语句

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常用的聚合函数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自定义函数详解

MSSQL自定义函数详解

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中常用函数函数是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: 格式化日期和时间信息。

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

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 ================================。

相关文档
最新文档