国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

SQL SERVER函、數將人民幣數字轉換成大寫形式

2019-11-02 14:19:34
字體:
來源:轉載
供稿:網友

   SQL SERVER函數將人民幣數字轉換成大寫形式

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

  RETURNS varchar(100) WITH ENCRYPTION

  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 @[email protected]_data+SUBSTRING('零壹貳叁肆伍陸柒捌玖',CAST(@n_str AS int)+1,1)

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

  SET @[email protected]_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 @[email protected]+1

  END

  IF @num<0

  SET @c_data='(負數)'[email protected]_data

  IF @num=0

  SET @c_data='零圓'

  IF @n_str='0'

  SET @[email protected]_data+'整'

  RETURN(@c_data)

  END

  SQL SERVER函數將人民幣數字轉換成大寫形式

  閑著也是閑著,歡迎大家多提寶貴意見

  --阿拉伯數字轉中文大寫數字

  Create function NToCC(@n int)

  returns varchar(2)

  as

  begin

  declare @s varchar(2)

  if @n=0

  set @s=''零''

  if @n=1

  set @s=''壹''

  if @n=2

  set @s=''貳''

  if @n=3

  set @s=''叁''

  if @n=4

  set @s=''肆''

  if @n=5

  set @s=''伍''

  if @n=6

  set @s=''陸''

  if @n=7

  set @s=''柒''

  if @n=8

  set @s=''捌''

  if @n=9

  set @s=''玖''

  return @s

  end

  --可支持到上億

  Create function numbertoChineseBigString(@m money)

  returns varchar(255)

  begin

  declare @i varchar(255)

  declare @f varchar(255)

  declare @r varchar(255)

  declare @s varchar(255)

  set @s=convert(varchar(255),@m)

  if charindex(''.'',@s)>0

  begin

  set @i=substring(@s,1,charindex(''.'',@s)-1)

  set @f=substring(@s,charindex(''.'',@s)+1,len(@s))

  end

  else

  set @[email protected]

  set @r=''''

  declare @k int

  set @k=len(@i)

  while @k>=1

  begin

  --最多9位

  if @k=9

  set @[email protected]+

  dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))

  [email protected]

  +''億''

  if @k=8

  set @[email protected]+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''千''

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 深州市| 麻阳| 山东| 思南县| 宾川县| 抚宁县| 基隆市| 新龙县| 双鸭山市| 措勤县| 舞阳县| 花垣县| 长海县| 永仁县| 新龙县| 越西县| 红原县| 嵩明县| 金川县| 大连市| 万宁市| 长宁区| 四会市| 赣州市| 土默特右旗| 合江县| 探索| 津南区| 凤阳县| 镇沅| 凌源市| 黑河市| 青冈县| 海晏县| 方正县| 元谋县| 丹东市| 将乐县| 华宁县| 白银市| 日喀则市|