濮阳杆衣贸易有限公司

主頁 > 知識庫 > 淺析SQLServer中的Scanf與Printf

淺析SQLServer中的Scanf與Printf

熱門標(biāo)簽:外呼系統(tǒng)的話術(shù) 競圣地圖標(biāo)注服務(wù) 智能語音車載電話機器人 安陽天音防封電銷卡 貴州外呼回撥系統(tǒng)是什么 智能外呼系統(tǒng)需要多少錢 云南全自動外呼系統(tǒng)公司 衛(wèi)星地圖標(biāo)注距離 陽光創(chuàng)信ai外呼獲客系統(tǒng)助力
SQLServer中有兩個擴展存儲過程實現(xiàn)Scanf和Printf功能,恰當(dāng)?shù)氖褂盟鼈兛梢栽谔崛『推唇幼址畷r大幅度簡化SQL代碼。

1、xp_sscanf,用它可以分解格式相對固定的字符串,這對于厭倦使用一堆substring和charindex的朋友來說不錯。比如前幾天的一個帖子中提出的如何分解ip地址,相對簡練且通用的代碼應(yīng)該是下面這樣
復(fù)制代碼 代碼如下:

if (object_id ('f_getip' ) is not null )
drop function f_getip
go
create function dbo . f_getip (@ ip varchar (100 ))
returns @ t table (a int , b int , c int , d int )
as
begin
    set @ ip = replace (@ ip , '.' , ' ' )
    declare
    @ s1 varchar (3 ) , @ s2 varchar (3 ),
    @ s3 varchar (3 ) , @ s4 varchar (3 )
    exec xp_sscanf @ ip , '%s %s %s %s' , @ s1 output , @ s2 output , @ s3 output , @ s4 output
    insert into @ t select @ s1 , @ s2 , @ s3 , @ s4
    return
end
go
select * from dbo . f_getip ('192.168.0.1' )
go
/*
a           b           c           d
----------- ----------- ----------- -----------
192         168         0           1
*/

2、xp_sprintf,用它可以拼接出一個字符串而不用擔(dān)心過多的加號很引號難以控制,比如一個動態(tài)執(zhí)行sql語句的存儲過程
復(fù)制代碼 代碼如下:

if (object_id ('p_select' ) is not null )
drop proc p_select
go
create proc p_select (@ tb varchar (100 ), @ cols varchar (100 ), @ wherecol varchar (100 ), @ value varchar (100 ))
as
begin
    declare @ s varchar (8000 )
    exec xp_sprintf @ s output , 'select %s from %s where %s=''%s''' , @ cols , @ tb , @ wherecol , @ value
    exec (@ s)
end
go
exec p_select 'sysobjects' , 'id,xtype,crdate' , 'name' , 'p_select'
/*
id          xtype crdate
----------- ----- -----------------------
898102240   P     2009-08-18 03:01:51.153
*/

您可能感興趣的文章:
  • sqlserver中將varchar類型轉(zhuǎn)換為int型再進行排序的方法
  • 一個函數(shù)解決SQLServer中bigint 轉(zhuǎn) int帶符號時報錯問題

標(biāo)簽:鄂爾多斯 河源 預(yù)約服務(wù) 周口 欽州 寧夏 營口 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析SQLServer中的Scanf與Printf》,本文關(guān)鍵詞  淺析,SQLServer,中的,Scanf,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺析SQLServer中的Scanf與Printf》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺析SQLServer中的Scanf與Printf的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    色达县| 青川县| 井冈山市| 新泰市| 江达县| 深州市| 宜良县| 鲜城| 贵阳市| 清水河县| 洞头县| 光泽县| 武宣县| 江门市| 额尔古纳市| 新沂市| 贡觉县| 青田县| 咸宁市| 吉隆县| 周口市| 西丰县| 宜昌市| 常宁市| 长葛市| 丽水市| 娄底市| 山丹县| 济宁市| 桓台县| 小金县| 家居| 阿巴嘎旗| 怀来县| 临江市| 滨州市| 阿鲁科尔沁旗| 灌南县| 松阳县| 仪征市| 连平县|