SQL Server~函数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43434300/article/details/87881821

一.聚合函数

1.概述
聚合函数对一组值进行计算并返回单一的值,通常聚合函数会与SELECT语句的GROUP BY子句一同使用,在与GROUP BY子句使用时,聚合函数会为每一个组产生一个单一值,而不会为整个表产生一个单一值。常用的聚合函数及说明。
在这里插入图片描述
2.SUM(求和)函数
SUM函数返回表达式中所有值的和或仅非重复值的和。SUM 只能用于数字列。空值将被忽略。
(1)语法如下:
SUM ( [ ALL | DISTINCT ] expression )
(2)参数说明:
①ALL:对所有的值应用此聚合函数。ALL是默认值。
②DISTINCT:指定 SUM 返回唯一值的和。
③expression:常量、列或函数与算术、位和字符串运算符的任意组合。expression 是精确数字或近似数字数据类型分类(bit 数据类型除外)的表达式。
(3)返回类型:以最精确的 expression 数据类型返回所有 expression 值的和。
(4)有关SUM函数使用的几点说明如下。
①含有索引的字段能够加快聚合函数的运行。
②字段数据类型为int、smallint、tinyint、decimal、numeric、float、real、money以及smallmoney的字段才可以使用SUM函数。
③在使用SUM函数时,SQL Server把结果集中的smallint或tinyint这些数据类型当做int处理。
④在使用SUM函数时,SQL Server将忽略空值(NULL),即计算时不计算这些空值。
3.MIN(最小值)函数
MIN函数返回表达式中的最小值。
(1)语法如下:
MIN ( [ ALL | DISTINCT ] expression )
(2)参数说明:
①ALL:对所有的值进行聚合函数运算。ALL 是默认值。
②DISTINCT:指定每个唯一值都被考虑。DISTINCT 对于 MIN 无意义,使用它仅仅是为了符合 SQL-92 兼容性。
③expression:常量、列名、函数以及算术运算符、按位运算符和字符串运算符的任意组合。MIN 可用于数字列、char列、varchar列 或 datetime 列,但不能用于 bit 列。不允许使用聚合函数和子查询
返回类型:返回与 expression 相同的值。
(3)有关MIN函数使用的几点说明如下:
①MIN函数不能用于数据类型是bit的字段。
②在确定列中的最小值时,MIN函数忽略NULL值,但是如果在该列中的所有行都有NULL值,将返回NULL值。
③不允许使用聚合函数和子查询。
4.MAX(最大值)函数
MAX函数返回表达式的最大值。
(1)语法如下:
MAX ( [ ALL | DISTINCT ] expression )
(2)参数说明:
①ALL:对所有的值应用此聚合函数。ALL 是默认值。
②DISTINCT:指定考虑每个唯一值。DISTINCT 对于 MAX 无意义,使用它仅仅是为了SQL-92 兼容性
③expression:常量、列名、函数以及算术运算符、按位运算符和字符串运算符的任意组合。MAX 可用于数字列、character列和 datetime列,但不能用于 bit 列。不允许使用聚合函数和子查询。
(3)返回类型:返回与 expression 相同的值。
(4)有关MAX函数使用的几点说明如下:
①MAX函数将忽略选取对象中的空值。
②不能通过MAX函数从bit、text和image数据类型的字段中选取最大值。
③在SQL Server中,MAX函数可以用于数据类型为数字、字符、datetime的列,但是不能用于数据类型为bit的列。不能使用聚合函数和子查询。
④对于字符列,MAX查找排序序列的最大值。
5.COUNT(统计)函数
COUNT函数返回组中的项数。COUNT 返回 int 数据类型值。
(1)语法如下:
COUNT ( { [ [ ALL | DISTINCT ] expression ] | ∗} )
(2)参数说明:
①ALL:对所有的值进行聚合函数运算。ALL 是默认值。
②DISTINCT:指定 COUNT 返回唯一非空值的数量。
③expression:除 text、image 或 ntext 以外任何类型的表达式。不允许使用聚合函数和子查询。
④ ∗:指定应该计算所有行以返回表中行的总数。COUNT(∗) 不需要任何参数,而且不能与 DISTINCT 一起使用。COUNT(∗) 不需要 expression 参数,因为根据定义,该函数不使用有关任何特定列的信息。COUNT(∗) 返回指定表中行数而不删除副本。它对每行分别计数。包括包含空值的行。
(3)返回类型:int类型。
6.HAVING(查询重复记录)函数
HAVING函数,查询数据表中的重复记录,可以借助HAVING子句实现,该子句用来指定组或聚合的搜索条件。HAVING子句只能与SELECT语句一起使用,而且,它通常在GROUP BY子句中使用。
(1)HAVING子句语法如下:
[ HAVING <search condition> ]
(2)参数说明:
<search condition>:指定组或聚合应满足的搜索条件。
例:
在这里插入图片描述

二.数学函数

1.概述
数学函数可以对数据类型为整型(integer)、实型(real)、浮点型(float)、货币型(money)和smallmoney的列进行操作。它的返回值是6位小数,如果使用出错,则返回NULL值并显示提示信息,通常该函数可以用在SQL语句的表达式中。常用的数学函数及说明。
在这里插入图片描述
注意:
算术函数(例如 ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS 和 SIGN)返回与输入值具有相同数据类型的值。三角函数和其他函数(包括 EXP、LOG、LOG10、SQUARE 和 SQRT)将输入值转换为 float 并返回 float 值。

2.ABS(绝对值)函数
ABS函数返回数值表达式的绝对值。
(1)语法如下:
ABS(numeric_expression)
(2)参数说明:
numeric_expression:精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。
(3)返回类型:提交给函数的数值表达式的数据类型。
说明:
如果该参数为空,则 ABS 返回的结果为空。

3.PI(圆周率)函数
PI函数返回 PI 的常量值。
语法如下:
PI ( )
返回类型:float型。
4.POWER(乘方)函数
POWER函数返回对数值表达式进行幂运算的结果。Power 函数的计算结果必须为整数。
(1)语法如下:
POWER(numeric_expression,power)
(2)参数说明:
①numeric_expression:是精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。
②power:有效的数值表达式。
5.rand(随机浮点)函数
RAND函数返回从 0 到 1 之间的随机 float 值。
(1)语法如下:
RAND ( [ seed ] )
(2)参数说明:
seed:提供种子值的整数表达式(tinyint、smallint 或 int)。如果未指定 seed,则 Microsoft SQL Server 数据库引擎 随机分配种子值。对于指定的种子值,返回的结果始终相同。
(3)返回类型:float类型。
注意:
使用同一个种子值重复调用 RAND() 会返回相同的结果。

6.ROUND(四舍五入)函数
ROUND函数返回一个数值,舍入到指定的长度或精度。
(1)语法如下:
ROUND ( numeric_expression , length [ ,function ] )
(2)参数说明:
①numeric_expression:精确数值或近似数值数据类别(bit 数据类型除外)的表达式。
②length:是numeric_expression 将要四舍五入的精度。length 必须是 tinyint、smallint 或 int 类型的表达式。如果 length 为正数,则将 numeric_expression 舍入到 length 指定的小数位数。如果 length 为负数,则将 numeric_expression 小数点左边部分舍入到 length 指定的长度。
③function:要执行的操作的类型。function 必须为 tinyint、smallint 或 int。如果省略 function 或其值为 0(默认值),则将舍入 numeric_expression。如果指定了 0 以外的值,则将截断 numeric_expression。
(3)返回类型:返回与 numeric_expression 相同的类型。
7.square(平方)函数
SQUARE(平方)函数
SQUARE函数返回数值表达式的平方。
语法说明如下:
SQUARE(numeric_expression)
参数说明:
numeric_expression:任意数值数据类型的数值表达式。
8.sqrt(平方根)函数
SQRT(平方根)函数
SQRT函数返回数值表达式的平方根。语法如下:
SQRT(numeric_expression)
参数说明:
numeric_expression 是任意数值数据类型的数值表达式。
9.三角函数
三角函数包括COS、COT、SIN以及TAN函数,分别表示为三角余弦值、三角余切值、三角正弦值和三角正切值,下面分别对这几种三角函数进行详细讲解。
(1)COS函数
返回指定表达式中以弧度表示的指定角的三角余弦。
①语法如下:
COS ( float_expression )
②参数说明:
float_expression:float 类型的表达式。
③返回类型:float类型
(2)COT函数
COT函数返回指定的 float 表达式中所指定角度(以弧度为单位)的三角余切值。
①语法如下:
COT ( float_expression )
②参数说明:
float_expression:属于 float 类型或能够隐式转换为 float 类型的表达式。
③返回类型:float类型。
(3)SIN函数
SIN函数以近似数字 (float) 表达式返回指定角度(以弧度为单位)的三角正弦值。
①语法如下:
SIN ( float_expression )
②参数说明:
float_expression:属于 float 类型或能够隐式转换为 float 类型的表达式。
③返回类型:float类型。
(4)TAN函数
TAN函数返回输入表达式的正切值。
①语法如下:
TAN ( float_expression )
②参数说明:
float_expression:是 float 类型或可隐式转换为 float 类型的表达式,解释为弧度数。
③返回类型:float类型。
例:
在这里插入图片描述

三.字符串函数

1.概述
字符串函数作用于char、varchar、binary和varbinary数据类型以及可以隐式转换为char或varchar的数据类型。通常字符串函数可以用在SQL语句的表达式中。常用的字符串函数及说明。
在这里插入图片描述
2.ASCII(获取ASCII码)函数
ASCII函数返回字符表达式中最左侧的字符的 ASCII 代码值。
(1)语法如下:
ASCII ( character_expression )
(2)参数说明:
character_expression:char 或 varchar 类型的表达式。
(3)返回类型:int类型。
说明:
ASCII码共有127个,其中Microsoft Windows不支持1~7、11~12和14~31之间的字符。值8、9、10和13分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序而对文本显示有不同的影响。

(4)ASCII码值对照表如表。
在这里插入图片描述
3.CHARINDEX函数
CHARINDEX函数返回字符串中指定表达式的起始位置(如果找到)。搜索的起始位置为 start_location。
(1)语法如下:
CHARINDEX ( expression1 ,expression2 [ , start_location ] )
(2)参数说明:
expression1:包含要查找的序列的字符表达式。expression1 最大长度限制为 8000 个字符。
expression2:要搜索的字符表达式。
start_location:在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
(3)返回类型:如果 expression2 的数据类型为 varchar(max)、nvarchar(max) 或 varbinary(max),则为 bigint,否则为 int。
4.LEFT函数
LEFT函数返回字符串中从左边开始指定个数的字符。
(1)语法如下:
LEFT ( character_expression , integer_expression )
(2)参数说明:
character_expression:字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 可以是任何能够隐式转换为 varchar 的数据类型。否则,请使用 CAST 函数对 character_expression 进行显式转换。
integer_expression:正整数。如果 integer_expression 为负,则返回空字符串。
(3)返回类型:
当 character_expression 为非 Unicode 字符数据类型时,返回 varchar。
当 character_expression 为 Unicode 字符数据类型时,返回 nvarchar。
5.right函数
RIGHT函数返回字符表达式中从起始位置(从右端开始)到指定字符位置(从右端开始计数)的部分。
(1)语法如下:
RIGHT(character_expression,integer_expression)
(2)参数说明:
character_expression:是从中提取字符的字符表达式。
integer_expression:是起始位置,用正整数表示。如果 integer_expression 是负数,则返回一个错误。
6.LEn函数
LEN函数返回字符表达式中的字符数。如果字符串中包含前导空格和尾随空格,则函数会将它们包含在计数内。LEN 对相同的单字节和双字节字符串返回相同的值。
(1)语法如下:
LEN(string_expression)
(2)参数说明:
string_expression:要计算的字符串表达式。
7.REPLACE函数
REPLACE函数将表达式中的一个字符串替换为另一个字符串或空字符串后,返回一个字符表达式。
(1)语法如下:
REPLACE(character_expression,searchstring,replacementstring)
(2)参数说明:
character_expression:是函数要搜索的有效字符表达式。
searchstring:是函数尝试定位的有效字符表达式。
replacementstring:是用作替换表达式的有效字符表达式。
8.REVERSE函数
REVERSE函数按相反顺序返回字符表达式。
(1)语法如下:
REVERSE(character_expression)
(2)参数说明:
character_expression:是要反转的字符表达式。
9.STR函数
STR函数返回由数字数据转换来的字符数据。
(1)语法如下:
STR ( float_expression [ , length [ , decimal ] ] )
(2)参数说明:
float_expression:带小数点的近似数字 (float) 数据类型的表达式。
length:总长度。它包括小数点、符号、数字以及空格。默认值为 10。
decimal:小数点后的位数。decimal 必须小于或等于 16。如果 decimal 大于 16,则会截断结果,使其保持为小数点后具有十六位。
注意:
当表达式超出指定长度时,字符串为指定长度返回 ∗∗。

10.SUBSTRING函数
SUBSTRING函数为字符表达式、二进制表达式、文本表达式或图像表达式的一部分。
(1)语法如下:
SUBSTRING ( value_expression ,start_expression , length_expression )
(2)参数说明:
①value_expression:是 character、binary、text、ntext 或 image 表达式。
②start_expression:指定返回字符的起始位置的整数或 bigint 表达式。如果 start_expression 小于 0,会生成错误并终止语句。如果 start_expression 大于值表达式中的字符数,将返回一个零长度的表达式。
③length_expression:是正整数或指定要返回的 value_expression 的字符数的 bigint 表达式。如果 length_expression 是负数,会生成错误并终止语句。如果 start_expression 与 length_expression 的总和大于 value_expression 中的字符数,则返回整个值表达式。
(3)返回类型:如果 expression 是受支持的字符数据类型,则返回字符数据。如果 expression 是支持的 binary 数据类型中的一种数据类型,则返回二进制数据。
(4)返回的字符串类型与指定表达式的类型相同
在这里插入图片描述
例:
在这里插入图片描述

四.日期时间函数

1.概述
日期和时间函数主要用来操作datetime、smalldatetime类型的数据,日期和时间函数执行算术运行与其他函数一样,也可以在SQL语句的SELECT、WHERE子句以及表达式中使用。常用的日期时间函数及说明。
在这里插入图片描述
2.GETDATE函数
GETDATE函数返回系统的当前日期。GETDATE 函数不使用参数。
注意:
GETDATE 函数的返回结果的长度为 29 个字符。

语法如下:
GETDATE()
3.DAY函数
DAY函数返回一个整数,表示日期的“日”部分。
语法如下:
DAY(date)
参数说明:
date:以日期格式返回有效的日期或字符串的表达式。
4.MONTH函数
MONTH函数返回一个表示日期中的“月份”日期部分的整数。
语法如下:
MONTH(date)
参数说明:
date:是任意日期格式的日期。
5.year函数
YEAR函数用于返回指定日期的年份。
(1)语法如下:
YEAR (date)
(2)参数说明:
date表示返回类型为datetime或smalldatetime的日期表达式。
(3)有关YEAR函数使用的几点说明如下:
该函数等价于DATEPART(yy,date)。
SQL Server数据库将0解释为1900年1月1日。
在使用日期函数时,其日期只应在1753~9999年之间,这是SQL Server系统所能识别的日期范围,否则会出现错误。
6.Datediff函数
DATEDIFF函数用于返回日期和时间的边界数。
(1)语法如下:
DATEDIFF (datepart,startdate,enddate)
(2)参数说明:
①datepart规定了应在日期的哪一部分计算差额的参数。
②startdate表示计算的开始日期,startdate是返回datetime值、smalldatetime值或日期格式字符串的表达式。
③enddate表示计算的终止日期。enddate是返回datetime值、smalldatetime值或日期格式字符串的表达式。
(3)SQL Server识别的日期部分和缩写。
在这里插入图片描述
(4)有关DATEDIFF函数使用的几点说明如下:
①startdate是从enddate中减去。如果startdate比enddate晚,则返回负值。
②当结果超出整数值范围,DATEDIFF产生错误。对于毫秒,最大数是24天20小时31分钟零23.647秒。对于秒,最大数是68年。
③计算跨分钟、秒和毫秒这些边界的方法,使得DATEDIFF 给出的结果在全部数据类型中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的datepart边界数。例如,在1月4日(星期日)和1月11日(星期日)之间的星期数是1。
7.DateADD函数
DATEADD函数将表示日期或时间间隔的数值与日期中指定的日期部分相加后,返回一个新的 DT_DBTIMESTAMP 值。number 参数的值必须为整数,而 date 参数的取值必须为有效日期。
(1)语法如下:
DATEADD(datepart, number, date)
(2)参数说明:
datepart:指定要与数值相加的日期部分的参数。
number:用于与 datepart 相加的值。该值必须是分析表达式时已知的整数值。
date:返回有效日期或日期格式的字符串的表达式。
注意:
如果指定一个不是整数的值,则将废弃此值的小数部分。

例:
在这里插入图片描述

五.转换函数

1.概述
当遇到类型转换的问题时,可以使用SQL Server所提供的CAST和CONVERT函数。这两种函数不但可以将指定的数据类型转换为另一种数据类型,还可用来获得各种特殊的数据格式。CAST和CONVERT函数都可用于选择列表、WHERE子句和允许使用表达式的任何地方。
(1)在SQL Server中数据类型转换分为两种,分别如下:
①隐性转换:SQL Server自动处理某些数据类型的转换。例如,如果比较char和datetime表达式、smallint和int表达式、或不同长度的char表达式,SQL Server可将它们自动转换,这种转换称为隐性转换,对这些转换不必使用CAST函数。
②显式转换:显式转换是指CAST和CONVERT函数,CAST和CONVERT函数将数值从一种数据类型(局部变量、列或其他表达式)转换到另一种数据类型。
说明:
隐性转换对用户是不可见的,SQL Server自动将数据从一种数据类型转换成另一种数据类型。例如,如果一个smallint 变量和一个int变量相比较,这个smallint变量在比较前即被隐性转换成int变量。

(2)有关转换函数使用的几点说明如下:
①CAST函数基于SQL-92标准并且优先于CONVERT。
②当从一个SQL Server对象的数据类型向另一个数据类型转换时,一些隐性和显式数据类型转换是不支持的。例如,nchar数值根本就不能被转换成image数值。nchar只能显式地转换成binary,隐性地转换到binary是不支持的。nchar可以显式地或者隐性地转换成nvarchar。
③当处理sql_variant数据类型时,SQL Server支持将具有其他数据类型的对象隐性转换成sql_variant类型。然而,SQL Server并不支持从sql_variant数据类型隐性地转换到其他数据类型的对象。
2.CAST函数
CAST函数用于将某种数据类型的表达式显示转换为另一种数据类型。
(1)语法如下:
CAST (expression AS data_type[(length)])
(2)参数说明:
①expression:表示任何有效的SQL Server表达式
②AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
③data_type:表示目标系统所提供的数据类型,包括xml、bigint和sql_variant,不能使用别名数据类型。
④length:指定目标数据类型长度的可选整数。默认值为30。.
(3)使用CAST函数进行数据类型转换时,在下列情况下能够被接受。
①两个表达式的数据类型完全相同。
②两个表达式可隐性转换。
③必须显式转换数据类型。
④如果试图进行不可能的转换(例如,将含有字母的 char 表达式转换为 int 类型),SQL Server 显示一条错误信息。
⑤如果转换时没有指定数据类型的长度,则SQL Server自动提供长度为30。
3.Convert函数
CONVERT函数与CAST函数的功能相似。该函数不是一个ANSI标准SQL函数,它可以按照指定的格式将数据转换为另一种数据类型。
(1)语法如下:
CONVERT (data_type[ (length) ],expression [, style])
(2)参数说明:
①data_type表示目标系统所提供的数据类型,包括bigint和sql_variant。不能使用用户定义的数据类型。
②length为nchar、nvarchar、char、varchar、binary和varbinary数据类型的可选参数。参数expression表示任何有效的SQL Server表达式。
③style为日期样式,指定当将datetime数据转换为某种字符数据时或将某种字符数据转换为datetime数据时会使用style中的样式。style日期样式。
(3)style日期样式
在这里插入图片描述
例:
在这里插入图片描述

六.元数据函数

1.简介
元数据函数描述了数据的结构和意义,它主要用于返回数据库中的相应信息,其中包括:
返回数据库中数据表或视图的个数和名称。
返回数据表中数据字段的名称、数据类型、长度等描述信息。
返回数据表中定义的约束、索引、主键或外键等信息。
常用的元数据函数及说明.
在这里插入图片描述
2.col_length函数
COL_LENGTH函数用于返回列的定义长度。
(1)语法如下:
COL_LENGTH ( ‘table’ , ‘column’ )
(2)参数说明:
‘table’要确定其列长度信息的表的名称。table是nvarchar类型的表达式。
‘column’要确定其长度的列的名称。column是nvarchar类型的表达式。
3.col_name函数
COL_NAME函数根据指定的对应表标识号和列标识号返回列的名称。
(1)语法如下:
COL_NAME ( table_id , column_id )
(2)参数说明:
table_id:包含数据库列的表的标识号,table_id 属于 int 类型。
column_id:表示列的标识号,column_id属于 int 类型。
4.DB_NAME函数
DB_NAME函数返回数据库名称。
(1)语法如下:
DB_NAME ( [ database_id ] )
(2)参数说明:
database_id:要返回的数据库的标识号 (ID)。database_id 的数据类型为int,无默认值。如果未指定 ID,则返回当前数据库名称。
(3)返回类型:nvarchar(128)类型。
例:
在这里插入图片描述

七.扩展

1.查看商品信息表中价格最贵的记录
例:
在数据表中查询一个具体的数据的信息是数据库的一个重要应用。本实例利用聚合函数中的MAX求最大值的函数,查询goods表的所有商品中价格最贵的商品。代码如下:
–打开数据库
select * from goods
–查询goods表
select gno,gname,price from goods where price=(select MAX(price) from goods)
查询效果。
在这里插入图片描述
2.使用GROUPING SETS组合多个分组结果集
GROUPING SETS、ROLLUP和CUBE运算符是GROUP BY 子句的扩展。运用ROLLUP或CUBE运算符可以生成全部分组,而使用GROUPING SETS运算符可以仅指定所需的分组。本实例通过使用分组查询中的GROUPING SETS运算符,在books表中,查询分别按照书名、出版社分组的销售价格。代码如下:
use db_2012
go
select 书名,出版社,SUM(单价) as 总计金额 from books
group by GROUPING sets(书名,出版社)
在这里插入图片描述
3.有约束冲突却不提示错误信息
下面代码是用来检测约束冲突的,如果与check约束冲突,@@ERROR被赋值547,并提示错误信息。但使用@@ERROR却检测不到约束冲突。
IF @@ERROR = 547
print ‘A check constraint violation occurred’
答:@@ERROR返回的是与它紧挨着的语句的执行情况。如果IF @@ERROR = 547与被检测语句之间有其他语句(如GO),则@@ERROR不会检测到正确的值。
4.T-SQL和SQL有什么区别?
答:SQL(Structured Query Language)是一种结构化查询语言,一般指标准数据库查询语言,它可以实现对数据以及关系数据库系统的管理,比如查询、更新,完成基本的数据库对象的定义、控制等功能,以及SQL语句的编写。T-SQL是SQL语言的扩展版本,是一种可以完成复杂逻辑的编程语言。T-SQL增加了流控制元素和各种功能函数,可以实现存储过程、触发器等的编写,让程式设计更加灵活。

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e9f16cbbc2.css" rel="stylesheet">
                </div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值