首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Mysql中将类似"120k“的格式化字符串转换为整型/双精度型

在MySQL中,将类似"120k"这样的格式化字符串转换为整型或双精度型需要经过几个步骤。这种格式通常表示千(k)为单位的数值。以下是转换的步骤和示例代码:

步骤 1: 移除非数字字符

首先,需要移除字符串中的非数字字符,只保留数字部分。

代码语言:txt
复制
SELECT REPLACE('120k', 'k', ''); -- 结果: '120'

步骤 2: 转换为数值类型

接下来,将清理后的字符串转换为整型或双精度型。

转换为整型

如果确定数值不会超过整型的范围,可以直接转换为INT类型。

代码语言:txt
复制
SELECT CAST(REPLACE('120k', 'k', '') AS SIGNED); -- 结果: 120

转换为双精度型

如果数值可能很大或者需要更精确的小数点表示,可以转换为DOUBLE类型。

代码语言:txt
复制
SELECT CAST(REPLACE('120k', 'k', '') AS DOUBLE) * 1000; -- 结果: 120000

步骤 3: 处理不同的单位

如果字符串可能包含不同的单位(如"k"表示千,"m"表示百万),可以使用CASE语句来处理。

代码语言:txt
复制
SELECT 
  CASE 
    WHEN RIGHT('120k', 1) = 'k' THEN CAST(REPLACE('120k', 'k', '') AS DOUBLE) * 1000
    WHEN RIGHT('120m', 1) = 'm' THEN CAST(REPLACE('120m', 'm', '') AS DOUBLE) * 1000000
    ELSE CAST('120k' AS DOUBLE)
  END;

应用场景

这种转换在处理用户输入的数据时非常有用,例如在数据分析、报表生成或者数据导入时,用户可能会以非标准的格式输入数值。

可能遇到的问题及解决方法

  1. 字符串格式不一致:如果字符串格式不统一,可能需要更复杂的正则表达式来清理数据。
  2. 数值超出范围:如果数值可能非常大,应该使用BIGINTDECIMAL类型来存储。
  3. 性能问题:对于大量数据的转换,可以考虑使用临时表或者批处理来优化性能。

参考链接

通过上述步骤,你可以将类似"120k"的格式化字符串转换为整型或双精度型数值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java大数(BigInteger)

0 长整型 long 64 -9.22E18,9.22E18 0 浮点型 float 32 1.4E-45-3.4028E+38 0.0 双精度型 double 64 4.9E-324,1.7977E...如要将int型的2转换为BigInteger型,要写为BigInteger two=new BigInteger("2"); //注意2双引号不能省略 3,BigInteger类模拟了所有的int型数学操作...而且其操作数也必须为BigInteger型。 如:two.add(2)就是一种错误的操作,因为2没有变为BigInteger型。...返回比参数大的整数,而且都是双精度类型的。如果参数是整数,则该方法会返回这个参数的双精度型。 (3)floor()返回紧邻的最小整数。...作用与ceil()正好相反,返回的是比参数小的整数,而且都是双精度型。如果参数为整数,则返回这个参数的双精度型。

2.7K20

Java中printf的用法总结

②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。...用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。 ⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。...System.out.println("单精度浮点型:"+d);/*单精度浮点型占32位存储空间,在一些 处理器上比双精度更快而且只占用双精度一般的空间,但是当值很大或很小的时候,它...将变得不准确*/ System.out.println("双精度型:"+a);/*双精度型占64位存储空间,在一些现代化的 被优化用来进行高速数学计算的处理器上比单精度的快...(); System.out.printf("字符串:%2$s,%3$d的十六进制数:%3$#x,双精度%1$1f的单精度浮点型表示:%1$f",a,b,c); //双精度的格式输出为数字

1.2K10
  • Python黑帽编程2.2 数值类型

    Python黑帽编程2.2 数值类型 数值类型,说白了就是处理各种各样的数字,Python中的数值类型包括整型、长整型、布尔、双精度浮点、十进制浮点和复数,这些类型在很多方面与传统的C类型有很大的区别...2.2.1 标准整型和长整型 标准整型等价于C中的有符号长整型(long),与系统的最大整型一致(如32位机器上的整型是32位,64位机器上的整型是64位),可以表示的整数范围在[-sys.maxint...图6 2.2.3 双精度浮点型 Python里的浮点型数字都是双精度,类似C语言的double类型。可以用十进制或者科学计数法表示。下面我们看一些典型的浮点型数字。...双精度浮点型使用的是底和指数的表示方法,在小数表示上精度有限,会导致计算不准确,decimal采用十进制表示方法,看上去可以表示任意精度。 下面我们看一下十进制浮点的例子。...图10 2.2.7转换工厂 函数 int(), long(), float() 和 complex() 用来将其它数值类型转换为相应的数值类型。

    2K90

    数制转换itoa atoi int转字符串 字符串转int string转int int转string

    但是,大多数的编译器(如Windows上的)通常在头文件中包含这个函数。在中与之有相反功能的函数是atoi。功能:把一整数转换为字符串。...C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。 1.itoa():将整型值转换为字符串。...用法gcvt(double,int,char*) 即(要转化的双精度浮点数,保留位数,目标字符串) ● ecvt():将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点。...C/C++语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)。 ● atof():将字符串转换为双精度浮点型值。...● strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。

    4K10

    Kotlin入门(5)字符串及其格式化

    如果使用Java编码,有以下几种转换方式: 字符串转整型:调用方法Integer.parseInt(***) 字符串转长整型:调用方法Long.parseLong(***) 字符串转浮点数:调用方法Float.parseFloat...(***) 字符串转双精度数:调用方法Double.parseDouble(***) 字符串转布尔型:调用方法Boolean.parseBoolean(***) 字符串转字符数组:调用String对象的...而在Kotlin这边,转换类型相对简单,并且与基本变量类型之间的转换保持一致,具体说明如下: 字符串转整型:调用String对象的toInt方法 字符串转长整型:调用String对象的toLong方法...字符串转浮点数:调用String对象的toFloat方法 字符串转双精度数:调用String对象的toDouble方法 字符串转布尔型:调用String对象的toBoolean方法 字符串转字符数组:调用...Kotlin对字符串带来的便利并不限于此,大家知道,Java如果要把几个变量拼接成字符串,要么用加号强行拼接,要么用String.format函数进行格式化。

    1.9K10

    『Go 内置库第一季:strconv』

    字符串转换为其他数据类型的函数有什么相似点? 其他数据类型转换为字符串有什么相似点? 怎么知道这些答案?...:布尔类型、数值型(整型、浮点型) 其他数据类型转换为字符串的函数多以:Format 为关键字 字符串转换为其他数据类型的函数多以:Parse 为关键字 自己常用的有哪些用法 字符串转整型: strconv.Atoi...string) (result int) { result, _ = strconv.Atoi(value) return } 原理是:"abc" -- > a*100 + b*10 + c 整型转字符串...“123” 的字符串转为整型:1*8*8+2*8+3*1=83 所以可以将任意进制的数据转换为 整型,字符串转成整型有错误处理,比如 7 进制的数“128” 出现 8, 那么肯定报错。...err error) func FormatFloat(f float64, fmt byte, prec, bitSize int) string 可能会对 参数 fmt 有疑问,其实很好理解,fmt 格式化对浮点型有哪些操作

    1.1K30

    C语言printf()scanf()的转换说明和转换说明修饰符

    注意指定精度,否则printf默认精确到小数点后六位(单精度是六位,双精度是八位) e/E float(double) 科学计数法,使用指数(Exponent)表示浮点数,此处”e”的大小写代表在输出时...(2)%a和%A是C99引入的格式化类型,采用十六进制p计数法输出浮点数。p计数法类似E科学计数法,但不同。数以0x开头,然后是16进制浮点数部分,接着是p后面是以 2为底的阶码。....* 以星号代替数值,类似于width中的*,在输出参数列表中指定精度。...因为相同类型可以有不同的长度,比如整型有16bits的short int,32bits的int,也有64bits的long int,浮点型有32bits的单精度float和64bits的双精度double...C语言还可以使用其它的输入函数来处理一些特殊情况,如getchar()和fputs()。这两个函数更适合处理一些特殊情况,如读取单个字符或包含空格的字符串。

    2.3K20

    Go 基础之基本数据类型

    IEEE 754 标准规定了四种表示浮点数值的方式:单精度(32 位)、双精度(64 位)、扩展单精度(43 比特以上)与扩展双精度(79 比特以上,通常以 80 位实现)。...我们首先来看单精度(float32)与双精度(float64)浮点数在阶码和尾数上的不同。...而双精度浮点类型,除了符号位的长度与单精度一样之外,其余两个部分的长度都要远大于单精度浮点型,阶码可用的 bit 位数量为 11,尾数则更是拥有了 52 个 bit 位。...因为双精度浮点类型(float64)阶码与尾数使用的比特位数更多,它可以表示的精度要远超单精度浮点类型,所以在日常开发中,我们使用双精度浮点类型(float64)的情况更多,这也是 Go 语言中浮点常量或字面值的默认类型...2.4.3 浮点数的格式化输出 知道了浮点型的字面值后,和整型一样,fmt 包也提供了针对浮点数的格式化输出。我们最常使用的格式化输出形式是 %f。通过 %f,我们可以输出浮点数最直观的原值形式。

    50340

    Python笔记(二)——python调

    我们在Python中将使用import MyFirstPythonModule 来载入这个模块。这里我们将MyCppMethods作为模块要调用的方法,它是一个PyMethodDef结构。...wrap_cmd_fun函数就不用我来解释了吧,一看就懂,就是将Python调用时传进来的参数转化成字符串,然后调用cmd函数,返回值是整型,又传回给python程序。...给出一个格式化时的"i", "s"之类的Python脚本类型说明表: 格式化字符 C数据类型 Python类型 s char* 字符串 s# char*, int 字符串及长度 z char* 与s相同...,但可以为NULL 续表 格式化字符 C数据类型 Python类型 z# char*, int 与s#相同,但可以为NULL i int 长整型 l long int 长整型 c char 单个字符的字符串...f float 双精度型 d double 双精度型  好了,我们开始编译,编译出来的库文件为:MyFirstPythonModule.pyd 之后我们写Python脚本: import MyFirstPythonModule

    61320

    万字长文,史上最全Python字符串格式化讲解

    可是,记着记着发现怎么越来越多,而且都和字符串格式化离不开关系,于是我又转头去复习了一下字符串格式化部分的知识。...十进制浮点数转二进制: 乘基取整; 不精确尾数 十进制浮点数的小数部分在转换为二进制的时候有可能出现无限小数无法乘尽的情况。...整数型不允许设置precison, 如果设置即被转换为浮点数; b. 浮点型表示小数点"后"显示多少位小数位数; c....字符型表示截取多少个字符; (10) {{或}}: 转义{或},当需要输出{或}的使用使用; (11) type: 详见如下... 3.type: format()格式化与%格式化的...先将4225.125转换为科学计数法表示,即为4.225125*10^3; 此时,指定的精度p=3, exp=3, 则 -4 ≤ exp < p(-4 ≤ 3 < 3)不成立

    4.6K20

    C语言中输入输出所有格式控制符

    printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf(”格式化字符串>”, )。...,以16进制输出,此处”a”的大小写代表在输出时用的”p”的大小写 g / G double 有效位数,如:%.8g表示单精度浮点数保留8位有效数字 c char 字符型。...可以把输入的数字按照ASCII码相应转换为对应的字符 s / S char * / wchar_t * 字符串。...因为相同类型可以有不同的长度,比如整型有16bits的short int,32bits的int,也有64bits的long int,浮点型有32bits的单精度float和64bits的双精度double...L 参数被解释为长双精度型(仅适用于浮点数说明符:e、E、f、g 和 G)。

    2K20

    pytorch和tensorflow的爱恨情仇之基本数据类型

    1、python基本数据类型 数字型:整型、浮点型、布尔型、复数型。 非数字型:字符串、列表、元组、字典。...使用type可以查看变量的类型:type(变量名) 2、numpy中的数据类型 名称 描述 bool_ 布尔型数据类型(True 或者 False) int_ 默认的整数类型(类似于 C 语言中的 long...float16 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位 float32 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位 float64 双精度浮点数,包括:1...这里的i1指代的是int8, 每个内建类型都有一个唯一定义它的字符代码,如下: 字符 对应类型 b 布尔型 i (有符号) 整型 u 无符号整型 integer f 浮点型 c 复数浮点型 m timedelta...(2) 张量和numpy之间的类型转换 numpy转张量:使用tf.convert_to_tensor() ? 张量转numpy:由Session.run或eval返回的任何张量都是NumPy数组。

    2.9K32

    (七)golang--变量之基本数据类型(看这篇就够了)

    : (1)golang整数类型分为:有符号和无符号,int和uint的大小和系统有关; (2)golang整型默认申明为int; (3)如何在程序查看某个变量的数据类型?...类型 占用存储空间 表示范围 单精度float32 4字节 -3.403E38~3.403E38 双精度float64 8字节 -1.798E308~1.798E308 说明: (1)浮点数在机器中存在的形式...而当我们要存储中文时,此时不能够用byte类型了,即ASCII值大于255时,会显示溢出,我们要用int来存储: (补:格式化输出代表含义 %d:输出整型;%f:输出浮点型;%c:输出字符型;%v:输出原变量值...6.基本数据类型的默认值 整型:0 浮点型:0 字符串:"" 布尔类型:false 7.基本数据类型之间的转换 golang和java、c不同,Go在不同类型变量之间赋值需要显示转换,也就是golang...注意:要确保string类型要能够转换成有效的数据,即"hello"不能转换成布尔值、整型、浮点型

    62330

    Linux系统下C++标准库函数

    1)字符串转换成对应的数  函数名作用 atof()将字符串转换成浮点型数 atoi()将字符串转换成整型数 以前i=16位 l=32位 atol()将字符串转换成长整型数 现在i=32位 l=64...标准及以上)strtoull()将字符串转换成无符号长整数(C++11标准及以上)strtof()将字符串转换成浮点数(C++11标准及以上)strtod()将字符串转换成双精度数strtold()将字符串转换成长双精度数...ndgit指的是全部的有效位数 数量不足是在尾部补0fcvt(double value,int ndigit,int* decpt,int *sign)将浮点型数转换为字符串 ndigit 指的是小数点之后的有效位数...不足以0填满gcvt(double value,int ndigit,int *buffer)将浮点型数转换为字符串 ndigit 指的是最大有效位数 不做任何处理 3、格式化输出函数  函数名作用printf...snprintf()类似vsprintf()格式化字符串复制 用法与sprintf()类似sprintf()格式化字符串复制 多个变量拼接到一个字符串中snprintf()格式化字符串复制 多个变量拼接到一个字符串中

    1.9K00

    printf()详解之终极无惑

    abcdef,X对应的是ABCDEF(不输出前缀0x) printf("0x%x 0x%X",123,123);输出0x7b 0x7B f/lf float(double) 单精度浮点数用f,双精度浮点数用...可以把输入的数字按照ASCII码相应转换为对应的字符 printf("%c\n",64)输出A s char* 字符串。...(2)%a和%A是C99引入的格式化类型,采用十六进制p计数法输出浮点数。p计数法类似E科学计数法,但不同。数以0x开头,然后是16进制浮点数部分,接着是p后面是以 2为底的阶码。....* 以星号代替数值,类似于width中的*,在输出参数列表中指定精度。...因为相同类型可以有不同的长度,比如整型有16bits的short int,32bits的int,也有64bits的long int,浮点型有32bits的单精度float和64bits的双精度double

    4.6K31

    何为SQL整数及浮点类型?

    ,比如整数类型,浮点数类型,字符串类型等等,当然其中也会有改动,都有各自的特点。...To:在使用整型数据时,需要关注的大概为:如何创建整型表,如何插入整型数据以及需要注意是否为无符号类型,至于对于表的一些操作还是需要大家自己去康康表操作啦,相关表操作:MySQL基础学习之大战表操作:...小数型:带有小数点或者范围超出整型的数值范围。...在SQL中:由于系统的需要,将小数细分成两种:浮点型(小数点浮动,精度有限,且会丢失精度)和定点型(小数点固定,精度固定,不会丢失精度) 浮点型:浮点型数据是一种精度型数据,因为超出指定范围之后,会丢失精度...浮点型理论分为两种: float(单精度):占用4个字节存储数据,精度范围大概为7位左右 double(双精度):占用8个字节存储数据,精度范围大概为15位左右 创建浮点数表 创建浮点数表,浮点的使用方式

    2.6K20

    MatLab数据结构

    双精度浮点类型(64位)(默认数值类型) 【注】 相同数值所占内存大小:整型 精度 双精度 整型只能与整型或双精度double型进行运算 双精度double型参与运算时: 参与运算的其他数据为逻辑型...、字符型时,返回结果为双精度double型 参与运算的其他数据为整型,返回结果为整型 参与运算的其他数据为单精度single型,返回结果为单精度single型 单精度single型与其他类型数据运算,返回结果为单精度...结构类型 MatLab 中的结构类型与 C 语言类似,一个结构可以通过字段存储多个不同类型的数据。...函数 功能 function_handle 或 @ 间接调用函数 func2str 函数句柄转换为函数名字符串 str2func 函数名字符串转换为函数句柄 functions(function_handle...映射容器是一种快速键查找的数据结构。 键(key)的数据类型可以有:1×\times×N字符串、single或double型、整型。一个映射容器中的所有键的数据类型都必须相同。

    1.2K20
    领券