copy别人的,仅是为了留着学习
mysql的left,right,substr,instr截取字符串,截取小数点float
mysql的left,right,substr,instr截取字符串,截取小数点float
2007-04-22 17:31
//-----------------------------------------------------------------
select avg(stu_oder_percent) from tb_sch_collect
结果:
avg(stu_oder_percent) :
60.60962
//-----------------------------------------------------------------
select left(avg(stu_oder_percent),4) from tb_sch_collect
结果:
left(avg(stu_oder_percent),4) :
60.6
//-----------------------------------------------------------------
select right(avg(stu_oder_percent),7) from tb_sch_collect
结果:
right(avg(stu_oder_percent),7)
0.60962
//-----------------------------------------------------------------
instr(avg(stu_oder_percent),'.')+1):
小数点出现位置后一位,表示精确到小数点后一位
select substr(avg(stu_oder_percent),1,instr(avg(stu_oder_percent),'.')+1) from tb_sch_collect
结果:
60.6
//--------------------------------------------------------------------------------------------------------------------------
MySql的字符串函数
ASCII(str)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。
mysql> select ASCII('2');
-> 50
mysql> select ASCII(2);
-> 50
mysql> select ASCII('dx');
-> 100
也可参见ORD()函数。
ORD(str)
如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]返回字符的ASCII代码值来返回多字节字符代码。如果最左面的字符不是一个多字节字符。返回与ASCII()函数返回的相同值。
mysql> select ORD('2');
-> 50
CONV(N,from_base,to_base)
在不同的数字基之间变换数字。返回数字N的字符串数字,从from_base基变换为to_base基,如果任何参数是NULL,返回NULL。参数N解释为一个整数,但是可以指定为一个整数或一个字符串。最小基是2且最大的基是36。如果to_base是一个负数,N被认为是一个有符号数,否则,N被当作无符号数。 CONV以64位点精度工作。
mysql> select CONV("a",16,2);
-> '1010'
mysql> select CONV("6E",18,8);
-> '172'
mysql> select CONV(-17,10,-18);
-> '-H'
mysql> select CONV(10+"10"+'10'+0xa,10,10);
-> '40'
BIN(N)
返回二进制值N的一个字符串表示,在此N是一个长整数(BIGINT)数字,这等价于CONV(N,10,2)。如果N是NULL,返回NULL。
mysql> select BIN(12);
-> '1100'
OCT(N)
返回八进制值N的一个字符串的表示,在此N是一个长整型数字,这等价于CONV(N,10,8)。如果N是NULL,返回NULL。
mysql> select OCT(12);
-> '14'
HEX(N)
返回十六进制值N一个字符串的表示,在此N是一个长整型(BIGINT)数字,这等价于CONV(N,10,16)。如果N是NULL,返回NULL。
mysql> select HEX(255);
-> 'FF'
CHAR(N,...)
CHAR()将参数解释为整数并且返回由这些整数的ASCII代码字符组成的一个字符串。NULL值被跳过。
mysql> select CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql> select CHAR(77,77.3,'77.3');
-> 'MMM'
CONCAT(str1,str2,...)
返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。
mysql> select CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
-> NULL
mysql> select CONCAT(14.3);
-> '14.3'
LENGTH(str)
OCTET_LENGTH(str)
CHAR_LENGTH(str)
CHARACTER_LENGTH(str)
返回字符串str的长度。
mysql> select LENGTH('text');
-> 4
mysql> select OCTET_LENGTH('text');
-> 4
注意,对于多字节字符,其CHAR_LENGTH()仅计算一次。
LOCATE(substr,str)
POSITION(substr IN str)
返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0.
mysql> select LOCATE('bar', 'foobarbar');
-> 4
mysql> select LOCATE('xbar', 'foobar');
-> 0
该函数是多字节可靠的。
LOCATE(substr,str,pos)
返回子串substr在字符串str第一个出现的位置,从位置pos开始。如果substr不是在str里面,返回0。
mysql> select LOCATE('bar', 'foobarbar',5);
-> 7
这函数是多字节可靠的。
INSTR(str,substr)
返回子串substr在字符串str中的第一个出现的位置。这与有2个参数形式的LOCATE()相同,除了参数被颠倒。
mysql> select INSTR('foobarbar', 'bar');
-> 4
mysql> select INSTR('xbar', 'foobar');
-> 0
这函数是多字节可靠的。
LPAD(str,len,padstr)
返回字符串str,左面用字符串padstr填补直到str是len个字符长。
mysql> select LPAD('hi',4,'??');
-> '??hi'
RPAD(str,len,padstr)
返回字符串str,右面用字符串padstr填补直到str是len个字符长。
mysql> select RPAD('hi',5,'?');
-> 'hi???'
LEFT(str,len)
返回字符串str的最左面len个字符。
mysql> select LEFT('foobarbar', 5);
-> 'fooba'
该函数是多字节可靠的。
RIGHT(str,len)
返回字符串str的最右面len个字符。
mysql> select RIGHT('foobarbar', 4);
-> 'rbar'
该函数是多字节可靠的。
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)
MID(str,pos,len)
从字符串str返回一个len个字符的子串,从位置pos开始。使用FROM的变种形式是ANSI SQL92语法。
mysql> select SUBSTRING('Quadratically',5,6);
-> 'ratica'
该函数是多字节可靠的。
SUBSTRING(str,pos)
SUBSTRING(str FROM pos)
从字符串str的起始位置pos返回一个子串。
mysql> select SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> select SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
分享到:
相关推荐
例如,如果需要直接截取小数点后两位而不需要四舍五入,可以使用`TRUNCATE`函数: ```sql SELECT TRUNCATE(4545.1366, 2); ``` 这将返回 `4545.13`,不进行四舍五入,而是直接截断多余的小数位。 另外,如果需要将...
- TRUNCATE(x,y):直接截取x的小数点后y位,不进行四舍五入。 3. 符号函数 SIGN(x): - 当x为负数时返回-1,为零时返回0,为正数时返回1。 4. 幂运算和对数函数: - POW(x,y)、POWER(x,y)和 EXP(x):计算x的y次...
浮点数类型包括float和double,其中float(M,D)表示最多有M位数字,D位为小数点后的数字。日期和时间类型可以表示年月日和时间戳,例如timestamp(M)可用于存储不同格式的日期和时间数据。 固定长度的字符串类型char...
数学函数 1、求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法...TRUNCATE(1.32,1)保留小数点后一位数字,返回值为1.3 TIPS:ROUND(X,Y)函数在截取值的时候会四舍五入,
例如,`ROUND(3.14159, 2)` 将返回3.14,将圆周率精确到小数点后两位。如果你需要对整数进行四舍五入,也可以使用这个函数,比如 `ROUND(42, 0)` 返回42,因为小数位数为0,相当于不进行四舍五入。 (B) `TRUNCATE...
- 功能:四舍五入`X`到小数点后`D`位。 - 示例:`ROUND(1.2345, 2)`将返回1.23。 10. **SIGN(X)** - 功能:根据`X`的符号返回-1、0或1。 - 示例:`SIGN(-5)`将返回-1。 11. **SQRT(X)** - 功能:返回`X`的...
`LEFT()`函数用于从这个浮点数的左侧截取五位数字,这样可以确保我们得到的是一个精确到小数点后四位的百分比。`concat()`函数则将这个数字与百分号(`%`)连接起来,形成完整的百分比表示。 需要注意的是,如果`...
- 根据单元格类型转换内容,例如,对于数值型,将其转换为字符串并截取小数点前的数字;对于字符串型,直接获取其内容;对于公式型,获取公式字符串。 - `cell_value = "f";` 当单元格内容为空或不满足条件时,...
- **浮点数输出**:使用`%m.nf`来表示输出浮点数,其中`m`代表输出的总位数(包括整数部分和小数点),而`n`则代表小数点后保留的小数位数。 - 示例:`printf '%8.2f\n' 123.4567` 将输出 `" 123.46"`, 其中总共...
- **实现四舍五入到指定长度小数(round(x,d))**:四舍五入到小数点后d位,示例:`round(3.14159, 2)`。 - **时间函数** - **获得日期中的日数(dayofmonth(date))**:返回日期中的天数,示例:`dayofmonth('2023-...
- 如果第一步处理后的结果的第一个字符是`.`(小数点),则返回`'0'`加上原`cp_cpxx1.pszl`的值; - 否则,直接返回`cp_cpxx1.pszl`的值。 这个过程主要用于处理那些可能是浮点数但以0开头的数值,例如“0.5”,...
这包括符号位、4位整数部分、小数点、2位小数部分。 ### 4. 布局管理器FlowLayout 当Frame的大小被改变时,若其中的按钮位置也随之改变,则使用的是FlowLayout布局管理器。FlowLayout会按照组件添加的顺序从左到右...
多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] ...
第一个字段是原字段,后面3个是清洗出的字段,从数据库中聚合字段观察,乍一看数据比较规律,类似(币种 金额 万元)这样,我想着用sql写条件判断,统一转换为‘万元人民币’ 单位,用sql脚本进行字符串截取即可完成...
1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG...
1. **参数化查询**:使用预编译语句和参数化查询可以有效避免SQL注入。 2. **输入验证**:对用户输入进行严格的验证和清理。 3. **最小权限原则**:确保应用程序使用的数据库账户只拥有完成其任务所需的最小权限。 4...