SQL 数字转为中文大写

SQL 数字转为中文大写USE [SPECIAL_BLD]GO SET ANSI_NULLS ONGO SET QUOTED_IDENTIFIER ONGO CREATE FUNCTION [dbo].[get_upper]

USE [SPECIAL_BLD]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION [dbo].[get_upper]
(
@num numeric(18,5)
)
RETURNS VARCHAR(500)
AS
BEGIN
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
GO

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10838.html

(0)
上一篇 2022-12-20
下一篇 2022-12-21

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注