中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

sql server函數將人民幣數字轉換成大寫形式
來源:易賢網 閱讀:4192 次 日期:2014-11-12 15:14:40
溫馨提示:易賢網小編為您整理了“sql server函數將人民幣數字轉換成大寫形式”,方便廣大網友查閱!

1、sql 數據庫中的存儲過程的參數問題

怎么將sql數據庫中的存儲過程中的參數既作為輸出變量又作為輸出變量?

[sql] view plaincopy --drop proc proc_test

--go

create proc dbo.proc_test

@in int,

@out int out,

@in_out int output

as

select @out = @in + @in_out, --1 + 2 = 3

@in_out = @out + 1 --3 + 1 = 4

go

declare @in_p int

declare @out_p int

declare @in_out_p int

set @in_p = 1;

set @in_out_p = 2

exec dbo.proc_test @in_p,

@out_p out,

@in_out_p output

select @in_p, --輸入參數

@out_p, --輸出參數

@in_out_p --輸入,輸出參數

/*

(無列名) (無列名) (無列名)

1 3 4

*/

2、在存儲過程中的參數問題。

下面是問題:

[sql] view plaincopy create table #tabletest(id int identity , name varchar(20),age int,)

go

insert into #tabletest

select '小明',23 union all

select '小紅',28 union all

select '小軍',27

go

select *from #tabletest

go

create proc proctest

@name varchar(20),

@age int,

@ids varchar(30)

as

begin

select *from #tabletest where 1=1

end

--當我傳入@name參數等于 小明,23歲,還有id在(1,3)的時候

--我怎么可以弄成可選的參數

--比如,name不為空時候

select *from #tabletest where 1=1 and name like '小明'

--如果name參數為空的時候,ids參數不為空的時候

select *from #tabletest where 1=1 and id in(1,3)

--請問一下,就有參數不為空的時候存儲過程中的sql追加條件,為空的時候就不追加,這樣帶可選參數的存儲過程怎么寫,以及怎么調用,請幫小弟寫一個實例

這種問題,本質上就是根據傳入的參數不同,進行不同的查詢,也就是where 后面的查詢條件是動態的。

一般有2中處理方式,一種就是寫動態語句,但動態語句由于是動態拼接字符串,所以比較難維護,而且如果存儲過程需要執行多次,那么每次都需要重新編譯,但每次生成的執行計劃,應該是比較優化的。但如果拼接字符串部分,只是少量的話,還是可以用動態語句的,下面我的解法就是用動態語句來實現的,結構清晰,易于維護。

另一種,就是通過在where語句后面寫case when來進行判斷,這種方法的好處是不用動態拼接語句,但不易于理解,也不易于修改,因為別人不一定能理解你這么寫的意思。另一個問題就是性能的問題,因為在原來的公司就用過這種方法,一段時間后,查詢非常慢,本來幾秒就能出結果,后來幾分鐘都出不了結果。說實在的,這種方法要求較高的技巧性,也容易出錯,不建議使用。

下面是我的解法,用了動態語句來實現,但考慮了維護、測試方面的要求:

[sql] view plaincopy --drop table #tabletest

create table #tabletest(id int identity , name varchar(20),age int,)

go

insert into #tabletest

select '小明',23 union all

select '小紅',28 union all

select '小軍',27

go

select *from #tabletest

go

create proc proctest

@name varchar(20)=null,@age int = null,@ids varchar(30) = null

as

declare @sql nvarchar(max);

set @sql = '';

set @sql = 'select * from #tabletest where 1 = 1';

set @sql = @sql +

case when @name is not null

then ' and name like ' + quotename(@name +'%','''')

when @age is not null

then ' and age = ' + cast(@age as varchar)

when @ids is not null

then ' and id in (' + @ids +')'

else ' '

end

--打印出語句

select @sql as '語句'

--執行語句

--exec(@sql)

go

exec proctest

/*

語句

select * from #tabletest where 1 = 1

*/

exec proctest '小明',23

/*

語句

select * from #tabletest where 1 = 1 and name like '小明%'

*/

exec proctest @ids = '2,3'

/*

語句

select * from 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 @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

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)))

+''億''

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#tabletest where 1 = 1 and id in (2,3)

*/

備注:如遇到需多個and參數連接查詢,sql語句可寫如下

set @sql= @sql +

case when @sellernick <> ''

then ' and sellernick = '

else ' '

end

set @sql= @sql +

case when @logisticsid <> ''

then ' and logisticsid =

else ' '

end

更多信息請查看IT技術專欄

更多信息請查看數據庫
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美一区二区三区四区高清| 亚洲国产成人在线| 欧美一区二区在线观看| 久久久91精品| 国产嫩草影院久久久久| 亚洲欧美一区二区激情| 国产精品男gay被猛男狂揉视频| 中文在线一区| 国产一区二区成人| 免费在线观看一区二区| 亚洲美女免费视频| 国产精品久久久久国产精品日日| 亚洲欧美一区二区激情| 亚洲电影自拍| 国产伦精品一区二区三区高清| 美女主播视频一区| 亚洲天堂成人在线视频| 韩国视频理论视频久久| 国产精品久久999| 欧美va日韩va| 久久精品日产第一区二区| 欧美影院久久久| 国产丝袜一区二区| 欧美日韩免费观看一区| 久久综合九色99| 久久精品国产99| 亚洲综合成人婷婷小说| 亚洲成人资源网| 在线欧美日韩| 黄色一区二区三区| 国内精品福利| 激情成人综合| 尤物九九久久国产精品的特点| 国产亚洲精品资源在线26u| 国产日产欧美一区| 国产精品视频自拍| 国产美女精品一区二区三区 | 亚洲欧洲综合另类| 曰本成人黄色| 亚洲国产精品高清久久久| 在线不卡视频| 亚洲毛片在线免费观看| 一本色道88久久加勒比精品| 性色av香蕉一区二区| 日韩一级成人av| 亚洲线精品一区二区三区八戒| 亚洲一二三区在线| 久久久在线视频| 欧美日韩亚洲高清一区二区| 国产麻豆日韩欧美久久| 激情欧美亚洲| 一本色道久久88精品综合| 亚洲一区二区在线播放| 欧美与欧洲交xxxx免费观看| 久久免费观看视频| 欧美三区在线视频| 国产亚洲欧美日韩美女| 99国产精品视频免费观看| 性亚洲最疯狂xxxx高清| 欧美精品成人| 国产综合精品一区| 久久免费视频网| 亚洲国产视频直播| 亚洲视频网在线直播| 国产欧美日韩亚州综合| 久久av二区| 欧美日韩一区免费| 国产亚洲精品bt天堂精选| 亚洲精品色婷婷福利天堂| 欧美影院成年免费版| 欧美日韩在线另类| 国产区欧美区日韩区| 亚洲愉拍自拍另类高清精品| 国产精品二区在线观看| 一区二区欧美精品| 欧美日韩国产精品一卡| 欧美日韩视频专区在线播放 | 99精品国产一区二区青青牛奶| 正在播放亚洲一区| 国产一区二区三区奇米久涩| 欧美专区在线播放| 亚洲成在线观看| 欧美大尺度在线| 亚洲午夜未删减在线观看| 国产精品h在线观看| 国产一区美女| 久久久久久网| 99国产精品视频免费观看一公开| 欧美日韩精品三区| 在线精品视频在线观看高清| 久久久精品五月天| 日韩一区二区免费高清| 国产精自产拍久久久久久蜜| 午夜影院日韩| 亚洲高清自拍| 国产精品五区| 欧美激情一区在线观看| 午夜精品一区二区三区在线播放| 亚洲国产女人aaa毛片在线| 国产欧美精品在线观看| 欧美精品九九99久久| 久久免费精品视频| 亚洲人www| 国产亚洲精品久| 猫咪成人在线观看| 亚洲免费观看| 亚洲二区在线| 99视频日韩| 亚洲高清成人| 一区二区三区在线视频播放| 国产精品久久久久久久久久ktv | 9久re热视频在线精品| 伊人久久av导航| 国产女人精品视频| 国产精品久久久久久久午夜片| 欧美福利一区| 久久一区精品| 久久综合九色| 久久久国产午夜精品| 欧美在线三区| 亚洲美女视频网| 一二三区精品| 亚洲一级黄色av| 午夜精品久久久久久99热| 亚洲欧美www| 亚洲欧美一区二区激情| 性xx色xx综合久久久xx| 午夜欧美大片免费观看| 午夜日韩在线| 久久男人资源视频| 老司机一区二区三区| 欧美搞黄网站| 欧美午夜美女看片| 国产亚洲福利一区| 黄色国产精品| 日韩一级不卡| 欧美一级片久久久久久久| 久久精品亚洲国产奇米99| 欧美aⅴ99久久黑人专区| 欧美精品三区| 国产一区二区三区自拍| 亚洲黄色在线| 久久av一区二区三区| 欧美成人精品福利| 国产精品久久久一区二区三区| 国产伦精品一区二区三区四区免费| 国产一区二区三区无遮挡| 亚洲精品免费在线播放| 欧美在线免费| 1769国内精品视频在线播放| 亚洲天堂av电影| 久久久久久网| 国产精品美女午夜av| 最新高清无码专区| 久久精视频免费在线久久完整在线看| 欧美另类高清视频在线| 黄色成人av| 久久精品国语| 国产欧美在线观看| 亚洲无毛电影| 欧美日韩国产页| 亚洲免费激情| 欧美另类专区| 亚洲人www| 欧美国产三区| 亚洲日本无吗高清不卡| 久久午夜精品| 国产亚洲一区二区精品| 这里是久久伊人| 欧美高清视频在线 | 国产精品va在线播放我和闺蜜| 欧美午夜电影网| 亚洲伦理中文字幕| 久久综合网络一区二区| 国产一区二区在线观看免费播放| 9l国产精品久久久久麻豆| 亚洲精品自在在线观看| 亚洲欧美日韩国产成人| 欧美小视频在线观看| 中文久久精品| 国产精品欧美一区喷水| 性高湖久久久久久久久| 国产精品久久久久久久久久ktv| 亚洲天堂成人在线观看| 欧美日韩一区在线播放| 这里只有精品视频| 国产精品高清在线| 欧美一区日本一区韩国一区| 国产精品久久久久久久久久三级 | 久久精品国产久精国产一老狼 | 亚洲欧美大片| 国产精品亚洲一区| 久久亚洲综合色一区二区三区| 精品成人一区二区| 欧美日本不卡视频| 久久国产福利| 亚洲欧洲日本国产| 国产精品美女一区二区| 久久久99免费视频| 亚洲一级二级|