第一篇 必知函数

这篇博客汇总了SQL Server中一系列实用的数据操作函数,包括行转列、列转行、日期格式转换、数字处理、字符串操作等,对于数据库管理和开发非常有帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一篇 必知函数

 

    1. 行转列: 单字段(列)多行转单列一行; --dbo.wg_getbrudt()
    2. 列转行:带逗号单列单行字符串列表转表格(同1.相反); --dbo.fu_listToTb()
    3. 列转行(金蝶版本):支持自定义连接符的字符串拆分转表格: -- dbo.fn_SplitStringToTable()
    4. 列转行: 带逗号单列单行表串转2列多行表格;

--(如: select dbo.fu_list2ToTb('1:a,2:b,3:c,4:d,5:e') 可得到有1,2,3,45值的f1字段 )

    1. 合并字符串的函数,将多个字符通过"关联字符串"连趣来(最多4个)--dbo.StrUnion()
    2. USA/EN英文日期格式化转换函数; -- xt_func_dateformat()
    3. 向上取整函数; -- dbo.uppernum(@num float)
    4. 根据传入日期,判断是否为仓库合理日期; -- dbo.Mygetstdt('2005-12-01')

根据传入日期,判断是否为仓库合理日期,如果不是,则返加合理日期,是则返回本身

           --传入日期小于期间开始日期,则返加开始日期,大于期间结束日期,则返回结束日期.

    1. 取会计期间信息; -- dbo.myfun()
    2. 数字转中文大写:  -- dbo.NumberToCapital(2)
    3. 取中文大写金额单位(零/分/角/圆/佰/仟/万….);   --dbo.GetMoneyUnit()
    4. 金额转中文大写金额;  -- dbo.MoneyToCapital(5410011.11,'1',2)
    5. 金额转英文金额:      --- dbo.fu_numtoeng('USA','12333.34')
    6. 长日期转短日期;    -- dbo.longdatetoshortdate()
    7. 取日期的年/月/日;   -- dbo.getymd(‘2010-01-01’,’y’)
    8. 根据物料编号的单位的精度返回对应精度的值;  

    --dbo.getunitsqty ('WIF-004-0001',123.37773)

    1. 将小数显示转化成分数显示;  -- dbo.fu_xiaotofeng(1.25)
    2. 取日期汇率;   -- dbo.fn_get_currate('2010-09-08','HKD')
    3. 助记码自动生成函数(中文字符自动生成拼音首字母检索码,方便检索); --dbo.f_GetPY(‘测试一下拼音首字母取字’)
    4. 飞讯ERP取单据号函数;

  declare @newcode tstridb, @errflg int

exec fn_pr_getNewcode 0,6009,1,'', @newcode output, @errflg output,'pu_ropplan','ropno','',0

SELECT @newcode AS newcode

 

    1. 精确计算 两个日期之间的年月天数: (适用于计算工作天数, 工作年限)

select dbo.getdiff('2001-02-03','2011-09-01')

--------------------------------

+10年06月29天

 

    1. 将字符型数字转为数值型数据(decimal(18,6))的函数:

select dbo.fun_strtodecimal('33,393,993.676455')

    1. 取一个月的每天的星期数函数:

select dbo.fun_mothweekday('2011-02-01','31')

 

    1. 将数值型数字转为字符型数据(去掉尾0,小数点)的函数:

  select dbo.fun_decimal2str(9902023.010009000)

25. SQL SERVER 查找某个字符在字符串中出现的次数:

   select dbo.func_qql_QueryCharCountFromString('asdf.asdfa.asdfaff.fsdf','.')

 

26. 取指定日期的对应的周x(周一、二、三、四、五、六、日)

select dbo.fun_qql_getweekday(getdate())

注:有用的业务函数,可以从其它大型ERP系统中迁移过来! 多看看别人的系统结构和设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值