`
jjjssh
  • 浏览: 77281 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

mysql截取小数点后1位

 
阅读更多
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'

分享到:
评论

相关推荐

    mysql格式化小数保留小数点后两位(小数点格式化)

    例如,如果需要直接截取小数点后两位而不需要四舍五入,可以使用`TRUNCATE`函数: ```sql SELECT TRUNCATE(4545.1366, 2); ``` 这将返回 `4545.13`,不进行四舍五入,而是直接截断多余的小数位。 另外,如果需要将...

    MySQL查询语句及MySQL8.0新特性窗口函数

    - TRUNCATE(x,y):直接截取x的小数点后y位,不进行四舍五入。 3. 符号函数 SIGN(x): - 当x为负数时返回-1,为零时返回0,为正数时返回1。 4. 幂运算和对数函数: - POW(x,y)、POWER(x,y)和 EXP(x):计算x的y次...

    mysql速查表

    浮点数类型包括float和double,其中float(M,D)表示最多有M位数字,D位为小数点后的数字。日期和时间类型可以表示年月日和时间戳,例如timestamp(M)可用于存储不同格式的日期和时间数据。 固定长度的字符串类型char...

    与MSSQL对比学习MYSQL的心得(六)–函数

    数学函数 1、求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法...TRUNCATE(1.32,1)保留小数点后一位数字,返回值为1.3 TIPS:ROUND(X,Y)函数在截取值的时候会四舍五入,

    mysql笔记.doc

    例如,`ROUND(3.14159, 2)` 将返回3.14,将圆周率精确到小数点后两位。如果你需要对整数进行四舍五入,也可以使用这个函数,比如 `ROUND(42, 0)` 返回42,因为小数位数为0,相当于不进行四舍五入。 (B) `TRUNCATE...

    Mysql常用函数列表

    - 功能:四舍五入`X`到小数点后`D`位。 - 示例:`ROUND(1.2345, 2)`将返回1.23。 10. **SIGN(X)** - 功能:根据`X`的符号返回-1、0或1。 - 示例:`SIGN(-5)`将返回-1。 11. **SQRT(X)** - 功能:返回`X`的...

    MySQL 查询结果以百分比显示简单实现

    `LEFT()`函数用于从这个浮点数的左侧截取五位数字,这样可以确保我们得到的是一个精确到小数点后四位的百分比。`concat()`函数则将这个数字与百分号(`%`)连接起来,形成完整的百分比表示。 需要注意的是,如果`...

    java编程excel导入MySQL.pdf

    - 根据单元格类型转换内容,例如,对于数值型,将其转换为字符串并截取小数点前的数字;对于字符串型,直接获取其内容;对于公式型,获取公式字符串。 - `cell_value = "f";` 当单元格内容为空或不满足条件时,...

    Shell编程-字符截取命令-printf命令

    - **浮点数输出**:使用`%m.nf`来表示输出浮点数,其中`m`代表输出的总位数(包括整数部分和小数点),而`n`则代表小数点后保留的小数位数。 - 示例:`printf '%8.2f\n' 123.4567` 将输出 `" 123.46"`, 其中总共...

    MySQL快速指南

    - **实现四舍五入到指定长度小数(round(x,d))**:四舍五入到小数点后d位,示例:`round(3.14159, 2)`。 - **时间函数** - **获得日期中的日数(dayofmonth(date))**:返回日期中的天数,示例:`dayofmonth('2023-...

    查询语句去掉0方法

    - 如果第一步处理后的结果的第一个字符是`.`(小数点),则返回`'0'`加上原`cp_cpxx1.pszl`的值; - 否则,直接返回`cp_cpxx1.pszl`的值。 这个过程主要用于处理那些可能是浮点数但以0开头的数值,例如“0.5”,...

    2021-2022计算机二级等级考试试题及答案No.14321.docx

    这包括符号位、4位整数部分、小数点、2位小数部分。 ### 4. 布局管理器FlowLayout 当Frame的大小被改变时,若其中的按钮位置也随之改变,则使用的是FlowLayout布局管理器。FlowLayout会按照组件添加的顺序从左到右...

    2009达内SQL学习笔记

    多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] ...

    python数据处理实战(必看篇)

    第一个字段是原字段,后面3个是清洗出的字段,从数据库中聚合字段观察,乍一看数据比较规律,类似(币种 金额 万元)这样,我想着用sql写条件判断,统一转换为‘万元人民币’ 单位,用sql脚本进行字符串截取即可完成...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG...

    sql注入过滤字典.txt

    1. **参数化查询**:使用预编译语句和参数化查询可以有效避免SQL注入。 2. **输入验证**:对用户输入进行严格的验证和清理。 3. **最小权限原则**:确保应用程序使用的数据库账户只拥有完成其任务所需的最小权限。 4...

Global site tag (gtag.js) - Google Analytics