开发者社区 问答 正文

全局事务服务 GTS 函数怎么运行?


下表列出了 DQL 语句和 DML 语句对函数的支持情况,需要注意的是,在 DML 语句中使用函数,不能将其作为主键。

DML 语句支持

类型是否支持
CONCAT(string2[,…])
INSTR(string,substring)
LCASE(string2)
LEFT(string2,length)
LENGTH(string)
LOAD_FILE(file_name)
LOCATE(substring,string[,start_position])
LPAD(string2,length,pad)
LTRIM(string2)
REPEAT(string2,count)
REPLACE(str,search_str,replace_str)
RPAD(string2,length,pad)
RTRIM(string2)
STRCMP(string1,string2)
SUBSTRING(str,position[,length])
TRIM([[BOTH|LEADING|TRAILING][padding]FROM]string2)
UCASE(string2)
RIGHT(string2,length)
SPACE(count)
ABS(number2)
BIN(decimal_number)
CEILING(number2)
CONV(number2,from_base,to_base)
FLOOR(number2)
FORMAT(number,decimal_places)
HEX(DecimalNumber)
LEAST(number,number2[,..])
MOD(numerator,denominator)
POWER(number,power)
RAND([seed])
ROUND(number[,decimals])
SIGN(number2)
SQRT(number2)
ADDTIME(date2,time_interval)
CONVERT_TZ(datetime2,fromTZ,toTZ)
CURRENT_DATE()
CURRENT_TIME()
CURRENT_TIMESTAMP()
DATE(datetime)
DATE_ADD(date2,INTERVALd_valued_type)
DATE_FORMAT(datetime,FormatCodes)
DATE_SUB(date2,INTERVALd_valued_type)
DATEDIFF(date1,date2)
DAY(date)
DAYNAME(date)
DAYOFWEEK(date)
DAYOFYEAR(date)
EXTRACT(interval_nameFROMdate)
MAKEDATE(year,day)
MAKETIME(hour,minute,second)
MONTHNAME(date)
NOW()
SEC_TO_TIME(seconds)
STR_TO_DATE(string,format)
TIMEDIFF(datetime1,datetime2)
TIME_TO_SEC(time)
WEEK(date_time[,start_of_week])
YEAR(datetime)
DAYOFMONTH(datetime)
HOUR(datetime)
LAST_DAY(date)
MICROSECOND(datetime)
MONTH(datetime)
MINUTE(datetime)
FIRST()
LAST()
MIN()
MAX()
AVG()
SUM()
COUNT()


DQL 语句支持

类型读未提交读已提交
CONCAT(string2[,…])
INSTR(string,substring)
LCASE(string2)
LEFT(string2,length)
LENGTH(string)
LOAD_FILE(file_name)
LOCATE(substring,string[,start_position])
LPAD(string2,length,pad)
LTRIM(string2)
REPEAT(string2,count)
REPLACE(str,search_str,replace_str)
RPAD(string2,length,pad)
RTRIM(string2)
STRCMP(string1,string2)
SUBSTRING(str,position[,length])
TRIM([[BOTH|LEADING|TRAILING][padding]FROM]string2)
UCASE(string2)
RIGHT(string2,length)
SPACE(count)
ABS(number2)
BIN(decimal_number)
CEILING(number2)
CONV(number2,from_base,to_base)
FLOOR(number2)
FORMAT(number,decimal_places)
HEX(DecimalNumber)
LEAST(number,number2[,..])
MOD(numerator,denominator)
POWER(number,power)
RAND([seed])
ROUND(number[,decimals])
SIGN(number2)
SQRT(number2)
ADDTIME(date2,time_interval)
CONVERT_TZ(datetime2,fromTZ,toTZ)
CURRENT_DATE()
CURRENT_TIME()
CURRENT_TIMESTAMP()
DATE(datetime)
DATE_ADD(date2,INTERVALd_valued_type)
DATE_FORMAT(datetime,FormatCodes)
DATE_SUB(date2,INTERVALd_valued_type)
DATEDIFF(date1,date2)
DAY(date)
DAYNAME(date)
DAYOFWEEK(date)
DAYOFYEAR(date)
EXTRACT(interval_nameFROMdate)
MAKEDATE(year,day)
MAKETIME(hour,minute,second)
MONTHNAME(date)
NOW()
SEC_TO_TIME(seconds)
STR_TO_DATE(string,format)
TIMEDIFF(datetime1,datetime2)
TIME_TO_SEC(time)
WEEK(date_time[,start_of_week])
YEAR(datetime)
DAYOFMONTH(datetime)
HOUR(datetime)
LAST_DAY(date)
MICROSECOND(datetime)
MONTH(datetime)
MINUTE(datetime)
FIRST()
LAST()
MIN()
MAX()
AVG()
SUM()
COUNT()

展开
收起
猫饭先生 2017-10-31 11:33:45 1803 分享 版权
阿里云 AI 助理回答

在阿里云数据库中,DML(数据操作语言)与DQL(数据查询语言)对函数的支持情况如下:

DML语句支持的函数

DML语句广泛支持字符串、数学和时间日期函数,包括但不限于: - 字符串函数:如CONCAT, INSTR, LCASE, LEFT, 等,用于处理文本数据。 - 数学函数:例如ABS, BIN, CEILING, CONV, 等,用于执行数学运算。 - 时间日期函数:如ADDTIME, CONVERT_TZ, CURRENT_DATE, 等,处理日期和时间值。

重要提示: 在使用DML语句时,尽管大多数函数都得到支持,但不能将函数应用于主键字段。

不支持的DML函数

聚合函数如FIRST, LAST, MIN, MAX, AVG, SUM, COUNT在DML语句中不被支持。

DQL语句支持的函数

DQL语句几乎支持所有上述提及的字符串、数学和时间日期函数,无论是在读未提交还是读已提交模式下。

特别说明: 聚合函数FIRST, LAST, MIN, MAX, AVG, SUM, COUNT在DQL的读已提交模式下同样不被支持。

综上所述,DML语句主要用于修改数据库中的数据,支持丰富的非聚合函数以满足数据操作需求;而DQL语句则专注于数据查询,兼容广泛的函数集,但限制了聚合函数的使用场景,确保数据的一致性和准确性。在设计SQL查询或更新语句时,请根据具体需求选择合适的函数,并注意不同语境下的限制条件。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
SQL
问答标签:
问答地址: