ホームページ データベース mysql チュートリアル SQL SERVER函数将人民币数字转换成大写形式

SQL SERVER函数将人民币数字转换成大写形式

Jun 07, 2016 pm 04:22 PM
server 人民元 関数 資本 と置換する 番号

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(S

   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

  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 (@i4) and (@i8) and (@i12))

  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

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

  IF @num=0

  SET @c_data='零圆'

  IF @n_str='0'

  SET @c_data=@c_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 @i=@s

  set @r=''''

  declare @k int

  set @k=len(@i)

  while @k>=1

  begin

  --最多9位

  if @k=9

  set @r=@r+

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

  --@i

  +''亿''

  if @k=8

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''千''

  if @k=7

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''佰''

  if @k=6

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''拾''

  if @k=5

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''万''

  if @k=4

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''千''

  if @k=3

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''佰''

  if @k=2

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''拾''

  if @k=1

  set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+''元''

  set @k=@k-1

  end

  if convert(float,@f)=0

  set @r=@r+''整''

  else

  begin

  if substring(@s,1,1)>''''

  set @r=@r+dbo.NToCC(convert(int,substring(@f,1,1)))+''角''

  if substring(@s,2,1)>''''

  set @r=@r+dbo.NToCC(convert(int,substring(@f,2,1)))+''分''

  end

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

golang 関数で新しい関数を動的に作成するためのヒント golang 関数で新しい関数を動的に作成するためのヒント Apr 25, 2024 pm 02:39 PM

Go 言語は、クロージャとリフレクションという 2 つの動的関数作成テクノロジを提供します。クロージャを使用すると、クロージャ スコープ内の変数にアクセスでき、リフレクションでは FuncOf 関数を使用して新しい関数を作成できます。これらのテクノロジーは、HTTP ルーターのカスタマイズ、高度にカスタマイズ可能なシステムの実装、プラグイン可能なコンポーネントの構築に役立ちます。

C++ 関数の命名におけるパラメーターの順序に関する考慮事項 C++ 関数の命名におけるパラメーターの順序に関する考慮事項 Apr 24, 2024 pm 04:21 PM

C++ 関数の名前付けでは、読みやすさを向上させ、エラーを減らし、リファクタリングを容易にするために、パラメーターの順序を考慮することが重要です。一般的なパラメータの順序規則には、アクション-オブジェクト、オブジェクト-アクション、意味論的な意味、および標準ライブラリへの準拠が含まれます。最適な順序は、関数の目的、パラメーターの種類、潜在的な混乱、および言語規約によって異なります。

Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Apr 24, 2024 am 11:33 AM

効率的で保守しやすい Java 関数を作成するための鍵は、シンプルに保つことです。意味のある名前を付けてください。特殊な状況に対処します。適切な可視性を使用してください。

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

C++ 関数例外の詳細: カスタマイズされたエラー処理 C++ 関数例外の詳細: カスタマイズされたエラー処理 May 01, 2024 pm 06:39 PM

C++ の例外処理は、特定のエラー メッセージ、コンテキスト情報を提供し、エラーの種類に基づいてカスタム アクションを実行するカスタム例外クラスを通じて強化できます。 std::Exception から継承した例外クラスを定義して、特定のエラー情報を提供します。カスタム例外をスローするには、throw キーワードを使用します。 try-catch ブロックでdynamic_castを使用して、キャッチされた例外をカスタム例外タイプに変換します。実際の場合、open_file 関数は FileNotFoundException 例外をスローします。例外をキャッチして処理すると、より具体的なエラー メッセージが表示されます。

Golang関数がマップパラメータを受け取る際の注意点 Golang関数がマップパラメータを受け取る際の注意点 Jun 04, 2024 am 10:31 AM

Go の関数にマップを渡すと、デフォルトでコピーが作成され、コピーへの変更は元のマップには影響しません。元のマップを変更する必要がある場合は、ポインタを介してそれを渡すことができます。空のマップは技術的には nil ポインターであり、空ではないマップを期待する関数に空のマップを渡すとエラーが発生するため、空のマップは慎重に扱う必要があります。

Realme GT Neo6は5月9日発売予定!コンピュータ業界初のAIデジタルヒューマンカンファレンス Realme GT Neo6は5月9日発売予定!コンピュータ業界初のAIデジタルヒューマンカンファレンス May 08, 2024 pm 12:49 PM

5月7日、当社の携帯電話メーカーは、当社のGTNeo6発売カンファレンスが5月9日に予定されていると正式に発表しました。私のGTNoe6は「パフォーマンスの嵐」と位置付けられており、ミッドレンジマシンの状況を揺るがすことを目的としています。なお、今回のカンファレンスは携帯電話業界初のAIデジタルヒューマンカンファレンスでもあります。その際、Realme副社長、グローバルマーケティング社長、中国国家主席のXu Qi氏がデジタルヒューマンの姿で記者会見に登場する。デジタルマン Xu Qi 公式紹介によると、コードネーム「ハリケーン」の Realme GTNoe6 はより高速かつ強力で、最強の第 3 世代 Snapdragon 8s フラッグシップおよびクラス最強の製品に挑戦します。最近、Realme GTNeo6 が電子商取引プラットフォームに直接接続されていることが判明し、このマシンが Snapdragon 8s プロセッサを搭載しているだけでなく、120W のフラッシュ充電もサポートしていることが明らかになりました。

C++ での関数の戻り値の使用: 種類と意味の説明 C++ での関数の戻り値の使用: 種類と意味の説明 May 01, 2024 am 08:27 AM

C++ では、関数の戻り値が非常に重要です。これにより、関数は指定された型のデータを返すことができます。戻り値の型は、基本型 (int、float など) やカスタム型 (など) を含む、関数によって返されるデータの型を定義します。ポインタ、参照)。戻り値の意味は、結果を返す、ステータスを示す、参照を提供する、新しいオブジェクトを作成するなど、関数の意図に応じて異なります。

See all articles