在Mysql中将数字转换为单词

2023-12-02

我正在从数据库中获取一个值,我希望将该值转换为一个单词Mysql。有人可以帮我吗?

Eg: 123--> 这个值是从数据库获取的,它以数字形式保存,我想检索这个值一百二十三从数据库中。

这样做的语法是什么?

查询是这样的:

select 'value' from value_table where date is '10-10-2012';

答案是--> 123

我希望这个值显示为一百二十三。


我认为这可以帮助你......这只是一种方法:

DELIMITER $$
CREATE FUNCTION `number_to_string`(n INT) RETURNS varchar(100)
BEGIN
    -- This function returns the string representation of a number.
    -- It's just an example... I'll restrict it to hundreds, but
    -- it can be extended easily.
    -- The idea is: 
    --      For each digit you need a position,
    --      For each position, you assign a string
    declare ans varchar(100);
    declare dig1, dig2, dig3 int; -- (one variable per digit)

    set ans = '';

    set dig3 = floor(n / 100);
    set dig2 = floor(n / 10) - dig3*10;
    set dig1 = n - (dig3*100 + dig2*10);

    if dig3 > 0 then
        case
            when dig3=1 then set ans=concat(ans, 'one hundred');
            when dig3=2 then set ans=concat(ans, 'two hundred');
            when dig3=3 then set ans=concat(ans, 'three hundred');
            when dig3=4 then set ans=concat(ans, 'four hundred');
            when dig3=5 then set ans=concat(ans, 'five hundred');
            when dig3=6 then set ans=concat(ans, 'six hundred');
            when dig3=7 then set ans=concat(ans, 'seven hundred');
            when dig3=8 then set ans=concat(ans, 'eight hundred');
            when dig3=9 then set ans=concat(ans, 'nine hundred');
            else set ans = ans;
        end case;
    end if;

    if dig2 = 1 then
        case
            when (dig2*10 + dig1) = 10 then set ans=concat(ans,' ten');
            when (dig2*10 + dig1) = 11 then set ans=concat(ans,' eleven');
            when (dig2*10 + dig1) = 12 then set ans=concat(ans,' twelve');
            when (dig2*10 + dig1) = 13 then set ans=concat(ans,' thirteen');
            when (dig2*10 + dig1) = 14 then set ans=concat(ans,' fourteen');
            when (dig2*10 + dig1) = 15 then set ans=concat(ans,' fifteen');
            when (dig2*10 + dig1) = 16 then set ans=concat(ans,' sixteen');
            when (dig2*10 + dig1) = 17 then set ans=concat(ans,' seventeen');
            when (dig2*10 + dig1) = 18 then set ans=concat(ans,' eighteen');
            when (dig2*10 + dig1) = 19 then set ans=concat(ans,' nineteen');
            else set ans=ans;
        end case;
    else
        if dig2 > 0 then
            case
                when dig2=2 then set ans=concat(ans, ' twenty');
                when dig2=3 then set ans=concat(ans, ' thirty');
                when dig2=4 then set ans=concat(ans, ' fourty');
                when dig2=5 then set ans=concat(ans, ' fifty');
                when dig2=6 then set ans=concat(ans, ' sixty');
                when dig2=7 then set ans=concat(ans, ' seventy');
                when dig2=8 then set ans=concat(ans, ' eighty');
                when dig2=9 then set ans=concat(ans, ' ninety');
                else set ans=ans;
            end case;
        end if;
        if dig1 > 0 then
            case
                when dig1=1 then set ans=concat(ans, ' one');
                when dig1=2 then set ans=concat(ans, ' two');
                when dig1=3 then set ans=concat(ans, ' three');
                when dig1=4 then set ans=concat(ans, ' four');
                when dig1=5 then set ans=concat(ans, ' five');
                when dig1=6 then set ans=concat(ans, ' six');
                when dig1=7 then set ans=concat(ans, ' seven');
                when dig1=8 then set ans=concat(ans, ' eight');
                when dig1=9 then set ans=concat(ans, ' nine');
                else set ans=ans;
            end case;
        end if;
    end if;

    return trim(ans);
END$$

DELIMITER ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Mysql中将数字转换为单词 的相关文章

  • SQL:将一个表中的所有记录插入到另一表中,而不指定列

    我想将备份表 foo bk 中的所有记录插入到 foot 表中 而不指定特定的列 如果我尝试这个查询 INSERT INTO foo SELECT FROM foo bk 我会收到错误 插入错误 列名称或提供的值的数量与表定义不匹配 是否可
  • mysql中的按位移位

    如何在 MySQL 中进行按位移位 有没有具体的指令或者操作符 如果不是 如何最佳地模拟它 看一下按位运算符MySQL first http dev mysql com doc refman 5 0 en bit functions htm
  • 如何在 PHP MYSQL 中将数据库表和每条记录从一台数据库服务器复制到另一台数据库服务器?>

    您好 我编写了一段代码 可以将数据库表从一个服务器复制到另一个服务器 但是每个表的记录没有复制 如何编写一个可以将表和每个记录从一个数据库服务器复制到另一个数据库服务器的函数 这是我的示例代码
  • mysql jdbc 与 SSL 连接在 tls 握手级别失败

    我们的 mysql 服务器配置为仅接受与 ssl 密码 DHE RSA AES256 GCM SHA384 的连接 我正在使用 java mysql connector java 8 0 15 和 java 8 openjdk 版本 1 8
  • 仅当所有记录都匹配时 SQL 连接

    我有3张桌子 CP carthead idOrder CP cartrows idOrder idCartRow CP shipping idCartRow idShipping dateShipped 每个 idOrder 可以有多个 i
  • 获取列名称以及 JSON 响应

    我有三个实体类 我编写了包含两个表的联接的查询 表 费用类别 Entity Table name ExpensesCategories public class ExpensesCategories Id GeneratedValue st
  • 为什么涉及用户变量的表达式的求值顺序未定义?

    From MySQL手册 http dev mysql com doc refman 5 7 en user variables html以下查询的输出不保证始终相同 SET a 0 SELECT a AS first a a 1 AS s
  • 如何在php中正确显示另一种语言的mysql表数据

    我有一个 mySQL 表 其中一列中的数据采用英语以外的语言 波斯语 当我在表中输入数据时 它会正确显示 但是当我想在 php 文件中显示数据时 它会显示如下 好吧 我应该怎么做才能以正确的形式显示数据 由于我经常使用 非英语 字符 因此要
  • 使用全文搜索查找精确匹配

    使用 Sql Server 2008 如何使用全文搜索来实际找到精确的字符串匹配 我对此感到非常困难 而且我在网上找不到令人满意的解决方案 例如 如果我正在搜索字符串 Bojan Skrchevski 我希望第一个结果正是如此 到目前为止
  • 多个连接到同一个表

    我有这组表格和数据 CREATE TABLE item id INT PRIMARY KEY name VARCHAR CREATE TABLE property id INT PRIMARY KEY name VARCHAR CREATE
  • PHP实现的机票预订系统

    如何防止预订系统中的座位被重复预订 我正在用 PHP 和 MYSQL 制作一个航空旅行预订系统模型作为一个项目 我有一个小问题 仅在付款后 门票和座位详细信息才会永久存储在此处 座位号在付款前分配 假设人 1 预订了飞机上的座位 x 并支付
  • PHP MySQL 查询带有 %s 和 %d

    SELECT COUNT AS test FROM s WHERE id d AND tmp mail lt gt 什么是 s and d for 这些是使用的格式符号 例如经过sprintf 例子 Output SELECT COUNT
  • Django 查询:“datetime + delta”作为表达式

    好吧 我的问题如下 假设我有下一个模型 这是一个简单的情况 class Period models Model name CharField field specs here start date DateTimeField field s
  • java中如何知道一条sql语句是否执行了?

    我想知道这个删除语句是否真的删除了一些东西 下面的代码总是执行 else 是否删除了某些内容 执行此操作的正确方法是什么 public Deleter String pname String pword try PreparedStatem
  • MYSQL:SQL查询获取自增字段的值

    我有一张桌子 主键是id及其自动递增 现在 当我插入新记录时 我需要获取更新记录的 id 我怎样才能做到这一点 如果我使用查询 select max id from table name 执行后我可以获得id 但我能确定它是刚刚插入的记录的
  • Mysql获取特定表的最后一个id

    我必须从特定的插入表中获取最后的插入 ID 可以说我有这个代码 INSERT INTO blahblah test1 test 2 VALUES test1 test2 INSERT INTO blahblah2 test1 test 2
  • 如何在sql server中对行号进行内连接

    SQL Server 2008 两张表 表A有以下数据 RowA RowB RowC RowD 表B有以下数据 Row4 Row3 Row2 Row1 我想得到以下输出 RowA Row1 RowB Row2 RowC Row3 RowD
  • MySQL #1093 - 您无法在 FROM 子句中指定用于更新的目标表“赠品”

    I tried UPDATE giveaways SET winner 1 WHERE ID SELECT MAX ID FROM giveaways 但它给出了 1093 您无法指定目标表 赠品 进行更新FROM clause 本文 ht
  • #1115 - 未知字符集:'utf8mb4'

    我的电脑上运行着一个本地网络服务器 用于本地开发 我现在正处于导出数据库并导入到我的托管 VPS 的阶段 导出然后导入时出现以下错误 1115 未知字符集 utf8mb4 有人能指出我正确的方向吗 该错误明确表明您没有utf8mb4您的阶段
  • WHERE 条件基于 PK 的查询是否建议使用“LIMIT 1”?

    我正在查询 mySQL 数据库以检索 1 个特定行的数据 我使用表主键作为 WHERE 约束参数 E g SELECT name FROM users WHERE userid 4 userid 列是表的主键 在 mySQL 语句末尾使用

随机推荐

  • VSCode |新窗口选择语言

    我错误地按下了 不要再显示这个 我怎样才能让 vscode 再次显示该选项 有一个设置可以启用 禁用该消息 Workbench gt Editor gt Untitled Hint 通过选择 不再显示 您禁用了该设置 将其设置为hidden
  • C++ 可变参数宏:如何检索参数值

    类中有很多实现类似的方法 只是方法的名称和参数列表不同 void function1 int a bool b mMember gt function1 a b void function2 double a string b mMembe
  • 从谷歌地图获取路线和地图上每2公里的点

    我知道 GPS 坐标我的起点和终点 现在我想知道这次旅行的行车路线 然后获取这条路线上每2公里的GPS坐标 我怎样才能用 php javascript 做到这一点 Thanks 添加的代码
  • html 输出中的特殊字符

    我希望直接打印像 这样的字符 但在源代码中 显示为 248 如果输出通过Html Encode 它不会呈现正确的字符 但是 248 在我的配置中
  • 从 Windows 注册表启动时启动应用程序时,返回 ClickOnce 版本不起作用

    我正在使用以下代码System Deployment返回我的 NET 3 5 C 应用程序的 ClickOnce 版本 public string version get System Reflection Assembly assembl
  • 如何用SQL导出全文文件?

    有将全文字段导入 导出为文件的简单方法 解决 加载为多行 的问题 尝试使用 SQLCOPY我只能将完整文件转换为完整表格 而不能转换为单个文本字段 因为 COPY 中的每一行都是原始的 解决了保存回问题 将完整的 XML 文件保存在文件系统
  • python:哪个文件更新以及更新了多少时间

    我正在尝试创建一个文件日期比较例程 我怀疑以下是一种相当笨拙的方法 我在查找有关 timedelta 的属性或方法或它们的名称的信息时遇到了一些困难 因此 我仅以天 分钟和秒来测量下面的日期时间差异 并且没有代表年份的列表项 任何替代方案的
  • 更改 Mac OS X 上的 docker 存储驱动程序

    我在 Mac OS X 上安装了 docker 工具箱 我需要将 docker 存储驱动程序从aufs to 设备映射器 因为aufs造成问题 我找到了docker官方文档并按照解释的方式尝试了here but DOCKER OPTS st
  • 我的 jQuery 无法与 IE11 配合使用

    所以我得到了三段代码来将东西加载到 div 中并做其他事情 但它不适用于 Internet Explorer 我检查了 IE11 控制台 这就是我得到的 SCRIPT5009 is undefined 这很奇怪 在其他所有浏览器中它都工作正
  • 以编程方式设置角度 5 ng-select 中的选定值

    我正在使用 angular5 ng select 组件 https github com ng select ng select并尝试设置选定值 以编程方式 当容器组件首次加载时 模型中设置的默认选择值 我没有找到它或的任何相关属性已选择对
  • configmap 更改不会自动反映在各个 pod 上

    apiVersion apps v1 for versions before 1 8 0 use apps v1beta1 kind Deployment metadata name consoleservice1 spec selecto
  • 如何在python中从ffmpeg流中提取视频和音频

    我想从 ffmpeg 流中获取单独的视频和单独的音频对象 python 为此 我在我的树莓派上运行它 ffmpeg f alsa thread queue size 1024 channels 1 i hw 2 0 thread queue
  • 当高度为 100% 时,IE 10 会出现显示表格 CSS 的 bug?

    我已经尝试了 3 天来避免在我的新响应式设计中使用表格 主要是因为每个人都说它们是邪恶的 另一方面 在对 SEO 和表格进行更多研究时 有些人甚至说这提高了他们的知名度 无论如何 div 和 HTML5 的语义要好得多 所以我真的很想让下面
  • Python地址下载

    下面的代码返回none 我该如何修复它 我正在使用Python 2 6 import urllib URL http download finance yahoo com d quotes csv s s f sl1t1v e csv sy
  • Objective C 方法签名可以指定枚举类型吗?

    VoiceName 是一个枚举 声明如下 enum VoiceName PAD RHYTHM PAD RHYTHM2 PAD RHYTHM3 PEEPERS ATMOSPHERE IMPULSE FAST PULSE HAIRYBALLS
  • Boost python 包装虚拟方法

    我正在使用 boost python 创建与 c 库的绑定 该库中的许多类都具有接受 iterator const iterator 类型作为参数的虚拟方法 我并不是特别想公开这些类型 但更愿意围绕这些虚拟方法创建一些包装器来接受适当的容器
  • webkit 上浮动 div 后“overflow:hidden”div 的边距行为

    我发现 float left div 后面的 overflow hidden div 的右侧边距加倍 可以使用以下代码进行测试
  • 如何获取 PyQt 中 QGroupbox 内存在的 Qcheckbox 的状态

    我的项目包含具有多个 QGroupbox 的 Qdialog 每个 GroupBox 包含一定数量的复选框 所有组框的复选框列表都是相同的 我没有太多声誉来加载图像 在这里 用户可以根据自己的需要选择复选框并按下 确定 按钮 按下 确定 按
  • 当我们告诉 PDO 不要这样做时,为什么它会生成警告?

    Problem 我们告诉 PDO 将每个问题包装到异常中 在某些情况下 它会生成一些警告 然后才抛出异常 Why它能做到吗 重复 SO 上没有关于它的正确答案 最后一个问题是MySQL 上的 PHP PDO 异常 警告消失了 但人们只是将其
  • 在Mysql中将数字转换为单词

    我正在从数据库中获取一个值 我希望将该值转换为一个单词Mysql 有人可以帮我吗 Eg 123 gt 这个值是从数据库获取的 它以数字形式保存 我想检索这个值一百二十三从数据库中 这样做的语法是什么 查询是这样的 select value