sql中函数将金额转为中文

CREATE FUNCTION [dbo].[f_num_chn] (@num numeric(14,2))

RETURNS varchar(100) WITH ENCRYPTION

AS

BEGIN

--版权所有:pbsql

DECLARE @n_data VARCHAR(20),@c_data VARCHAR(100),@n_str VARCHAR(10),@i int

SET @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100) AS bigint) AS varchar(20)),14)

SET @c_data=‘‘

SET @i=1

WHILE @i<=14

BEGIN

SET @n_str=SUBSTRING(@n_data,@i,1)

IF @n_str<>‘ ‘

BEGIN

IF not ((SUBSTRING(@n_data,@i,2)=‘00‘) or

((@n_str=‘0‘) and ((@i=4) or (@i=8) or (@i=12) or (@i=14))))

SET @c_data=@c_data+SUBSTRING(‘零壹贰叁肆伍陆柒捌玖‘,CAST(@n_str AS int)+1,1)

IF not ((@n_str=‘0‘) and (@i<>4) and (@i<>8) and (@i<>12))

SET @c_data=@c_data+SUBSTRING(‘仟佰拾亿仟佰拾万仟佰拾圆角分‘,@i,1)

IF SUBSTRING(@c_data,LEN(@c_data)-1,2)=‘亿万‘

SET @c_data=SUBSTRING(@c_data,1,LEN(@c_data)-1)

END

SET @i=@i+1

END

IF @num<0

SET @c_data=‘(负数)‘+@c_data

IF @num=0

SET @c_data=‘零圆‘

IF @n_str=‘0‘

SET @c_data=@c_data+‘整‘

RETURN(@c_data)

END

时间: 2024-10-14 09:29:42

sql中函数将金额转为中文的相关文章

PHP中实现数字金额到中文大写字符的转换7VeH

Yann LeCun其人,Facebook AI研究院(FAIR)负责人,深度学习三架马车之一,卷积神经网络(CNN)之父,享受得了万人敬仰,也在无人问津的寒冬挣扎过. 他于1960年出生在巴黎,1987-1989年博士后期间拜在大神Geoffrey Hinton门下,1988年被Larry Jackel招入贝尔实验室,1989年提出在计算机视觉中使用卷积神经网络,其后此项技术被用于在自动取款机上读取支票,影响至今.1998年又提出基于梯度的学习. 或许是天性,又或许是经历过神经网络和深度学习备

Sql Server 数字金额转中文金额 函数

在做一些订单金额.合同金额转换的时候,经常会遇到数字转成中文的情况,所以整理了一个数字转中文的函数: /* 说明:数字金额转中文金额 示例:187.4 转成 壹佰捌拾柒圆肆角整 */ CREATE FUNCTION [dbo].[CNumeric](@num numeric(14,2)) returns nvarchar(100) BEGIN Declare @n_data nvarchar(20),@c_data nvarchar(100),@n_str nvarchar(10),@i int

判断 sql 中是否含有中文字符-----待验证

select ascii(字段)数字:48-57字母:65-123汉字:123+ select * from t1 where len(unicode(c1)) < 5; 判断c1第一个字符是否是中文,小于5,非中文 SQL判断某列中是否包含中文字符.英文字符.纯数字 一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' 三.包含纯数字 select

SQL中的5种聚集函数

原文:SQL中的5种聚集函数 作为一个刚毕业进入这行的菜鸟,婶婶的觉的那种大神.大牛到底是怎样炼成的啊,我这小菜鸟感觉这TMD要学的东西这多啊,然后就给自己定了许多许多要学习的东西,可是有人又不停地给你灌输:东西不在多而要精通!我也觉得很有道理,可是怎样才能精通呢?封神之路,在哪里啊 !!! 这一天没有一个安静的心,基本是学不进去了,发现自己还是太功利了,急功近利!也许你只要学就行,管他是否能够立即让人见识到你的厉害,技术和知识这种东西也许还是要强调一个 底蕴的.既然自己最烦那种看了两篇文章就给

面试问题 - SQL 中存储过程与函数的区别

SQL 中的存储过程与函数没有本质上的区别 函数 -> 只能返回一个变量. 函数可以嵌入到sql中使用, 可以在select 中调用, 而存储过程不行.  但函数也有着更多的限制,比如不能使用临时表 存储过程 -> 可以返回多个变量. 存储过程的定义如下: 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量

SQL中存储过程和函数的区别

本质上没区别.只是函数有如:只能返回一个变量的限制.而存储过程可以返回多个.而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行.执行的本质都一样.      函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少       1.    一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强.       2.    对于存储过程来说可以返回参数,而函数只能返回值或者表对象.       3.    存储过程

SQL集合函数中case when then 使用技巧

SQL集合函数中case when then 使用技巧 作者: 字体:[增加 减小] 类型:转载 我们都知道SQL中适用case when then来转化数据库中的信息 比如 select (case sex when 0 then '男' else '女' end) AS sex from studentInfo 那么在集合函数中它有什么用呢 ? 假设数据库有一张表名为student的表. 如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数 怎么写SQL语句?即要生成下

SQL 中的常用函数及使用

在SQL中我们使用的函数有很多,我们经常使用的就是下面的一些函数,那么我一一列举数来: 1:聚合函数:MAX 返回指定数据的最大值. MIN 返回指定数据的最小值. COUNT 返回指定组中项目的数量. AVG 返回指定组中的平均值,空值被忽略. SUM 返回指定数据的和,只能用于数字列,空值被忽略. 2:数学函数:ceiling 取上限floor 取下限 qound 四舍五入abs 取绝对值pi 圆周率 SQRT - 开根号SQUARE - 平方根 3:字符串函数:UPPER 将字符串中的小写

SQL中的ISNULL函数详解及用途

SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助 ISNULL 使用指定的替换值替换 NULL. 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value 在 check_expression 为 NU