包名称:DBDiffPackage
--解码(根据输入值返回一个对应值) e.g decode(b.isinlay_yn,'1','是','0','否')
-- 参数: P_DetectValue 输入值
-- 参数: P_Compare1 比较值1
-- 参数: P_Value1 匹配值1
-- 参数: P_Compare2 比较值2
-- 参数: P_Value2 匹配值2
-- 应用场合:decode(b.isinlay_yn,'1','是','0','否'),替代decode函数
Function StringDecode(P_DetectValue In Varchar2,
P_Compare1 In Varchar2,
P_Value1 In Varchar2,
P_Compare2 In Varchar2,
P_Value2 In Varchar2) Return Varchar2;
--字符串转化为整型
--参数: P_Value 字符串
-- 应用场合:to_number(20110101103000),替代to_number函数
Function StringToInt64(P_Value In Varchar2) Return Number;
--通过日期获得一个星期内的第几天,周日为0,周一为1,...,周六为6
-- 参数: P_DateTime 日期
-- 应用场合:GetWeekNo(to_date('2011-03-28', 'YYYY-MM-DD')),返回1。
Function GetWeekNo(P_DateTime In Date) Return Number;
--通过日期获取天数
-- 参数: P_DateTime 日期
-- 应用场合:GetDay(to_date('2011-03-28', 'YYYY-MM-DD')),返回28。
Function GetDay(P_Time In Date) Return Number;
--通过日期获取月份数
-- 参数: P_DateTime 日期
-- 应用场合:GetMonth(to_date('2011-03-28', 'YYYY-MM-DD')),返回3。
Function GetMonth(P_DateTime In Date) Return Number;
-- 通过日期获取年份数
-- 参数: P_DateTime 日期
-- 应用场合:GetYear(to_date('2011-03-28', 'YYYY-MM-DD')),返回2011。
Function GetYear(P_DateTime In Date) Return Number;
-- 返回一天的起始时刻,例如:2011-1-1 00:00:00
-- 参数: P_DateTime 日期
Function GetDayBegin(P_DateTime In Date) Return Date;
-- 返回一天的结束时刻,例如:2011-1-1 23:59:59
-- 参数: P_DateTime 日期
Function GetDayEnd(P_DateTime In Date) Return Date;
-- 获得日期值所在月份的第一天,例如:2011-1-1 23:01:05
-- 参数: P_DateTime 日期
Function GetFirstDayOfMonth(P_DateTime In Date) Return Date;
-- 获得日期值所在月份的最后一天,例如:2011-1-31 23:01:05
-- 参数: P_DateTime 日期
Function GetLastDayOfMonth(P_DateTime In Date) Return Date;
-- 获得日期值所在月份的天数,例如:2011-1-1有31天
-- 参数: P_DateTime 日期
Function GetDayCountOfMonth(P_DateTime In Date) Return int;
-- 增加天数,数量可正可负
-- 参数: P_DateTime 日期
-- 参数: P_Count 天数
-- 应用场合:AddDays(to_date('2011-03-28', 'YYYY-MM-DD'), 1),返回2011-03-29。
Function AddDays(P_DateTime In Date, P_Count In int) Return Date;
-- 增加月份数,数量可正可负
-- 参数: P_DateTime 日期
-- 参数: P_Count 月份数
-- 应用场合:AddMonths(to_date('2011-03-28', 'YYYY-MM-DD'), 1),返回2011-04-28。
Function AddMonths(P_DateTime In Date, P_Count In int) Return Date;
-- 创建日期
-- 参数: P_Year 年,例如:2011
-- 参数: P_Month 月,例如:3
-- 参数: P_Day 日,例如:1
-- 应用场合:CreateDate(2011, 3, 28),返回2011-3-28。
Function CreateDate(P_Year In int, P_Month In int, P_Day In int) Return Date;
-- 返回字符或者字符串在另一个字符串中的起始位置,位置从1开始,未找到返回0。例如:GetCharIndex('abc', 'c', 2)返回3。
-- 参数: P_String 字符串
-- 参数: P_DetectChar 想找的字符
-- 参数: P_StartLocation 起始位置,从1开始
-- 应用场合:GetCharIndex('ababcde', 'b', 1),返回2。GetCharIndex('ababcde', 'b', 3),返回4。
Function GetCharIndex(P_String In Varchar2, P_DetectChar in Varchar2, P_StartLocation in int) Return int;
-- 获得字符串长度
-- 参数: P_String 字符串
-- 应用场合:GetLength('abcde'),返回5。
Function GetLength(P_String In Varchar2) Return int;
--日期转为年月日形式的字符串
-- 参数: P_DateTime 需要进行转换的时间
-- 参数: P_Format 自定义参数格式 e.g YYYY(年),MM(月),DD(日)
-- 应用场合:ToDateString(to_date('2011-03-28', 'YYYY-MM-DD'), 'YYYY+MM+DD'),返回2011+03+28。
Function ToDateString(P_DateTime In Date, P_Format In Varchar2) Return Varchar2;
--按将数值转为指定显示小数点后最少1位最多3位的字符串
--参数: P_Value 输入值
-- 应用场合:ToFloatString1(3.1412926),返回3.141。
Function ToFloatString1(P_Value In Number) Return Varchar2;
--日期转为年月日时分秒形式的字符串
-- 参数: P_DateTime 需要进行转换的时间
-- 参数: P_Format 自定义参数格式
-- e.g YYYY-MM-DD HH24:MI:SS YYYY(年),MM(月),DD(日),HH24(两个数字的、24小时制的小时数),MI(两个数字的分钟),SS(两个数字的秒)
-- 应用场合:ToDateTimeString(to_date('2011-03-28', 'YYYY-MM-DD'), 'YYYY+MM+DD+HH24+MI+SS'),返回2011+03+28+00+00+00。
Function ToDateTimeString(P_DateTime In Date, P_Format In Varchar2) Return Varchar2;
--整型转为字符串
--参数:P_Value 整型值
-- 应用场合:IntToString(3),返回3。
Function IntToString(P_Value In Number) Return Varchar2;
--获取系统时间
Function GetSystemTime Return Date;
--字符串转为日期
--参数:P_Value 日期字符串 只接受“YYYY/MM/DD”格式的输入值。
-- 应用场合:StringToDate('2011/03/28'),返回2011-03-28。
Function StringToDate(P_Value In Varchar2) Return Date;
--字符串转为时间
--参数:P_Value 日期字符串 只接受“YYYY-MM-DD HH24:MI:SS”格式的输入值。
-- 应用场合:StringToDate('2011/03/28 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),返回2011-03-28。
Function StringToTime(P_Value In Varchar2) Return Date;
-- 获取子字符串
-- 参数:P_Value 输入字符串
-- 参数: P_StartNumber 开始位置(从1开始)
-- 参数:P_Length 字符串长度
-- 应用场合:GetSubstring('ababcde', 2, 3),返回bab。
Function GetSubstring(P_Value In Varchar2,
P_StartNumber In Number,
P_Length In Number) Return Varchar2;
--格式输出整数 ,format自定义参数格式为:0(一位整数),00(两位整数),以此类推。
-- 参数: P_Value 输入值
-- 参数:P_Format 格式串
-- 应用场合:FormatInt(3, '00'),返回03。
Function FormatInt(P_Value In Number, P_Format In Varchar2) Return Varchar2;
--取模 定义为:return = a % b,例如:10 % 4 = 2。Oracle使用“Mod”实现,SqlServer使用“%”实现。
-- 参数: P_ValueA 基准值
-- 参数:P_ValueB 除数
-- 应用场合:GetMod(3, 4),返回3。
Function GetMod(P_ValueA In Number, P_ValueB In Number) Return Number;
--输出调试信息
-- 参数: P_Message 需要输出的消息
-- 应用场合:Pr_DebugPrint('运行到了这里!')。
Procedure Pr_DebugPrint(P_Message In Varchar2);
--解码(根据输入值返回一个对应值) e.g decode(b.isinlay_yn,'1','是','0','否')
-- 参数: P_DetectValue 输入值
-- 参数: P_Compare1 比较值1
-- 参数: P_Value1 匹配值1
-- 参数: P_Compare2 比较值2
-- 参数: P_Value2 匹配值2
-- 应用场合:decode(b.isinlay_yn,'1','是','0','否'),替代decode函数
Function StringDecode(P_DetectValue In Varchar2,
P_Compare1 In Varchar2,
P_Value1 In Varchar2,
P_Compare2 In Varchar2,
P_Value2 In Varchar2) Return Varchar2;
--字符串转化为整型
--参数: P_Value 字符串
-- 应用场合:to_number(20110101103000),替代to_number函数
Function StringToInt64(P_Value In Varchar2) Return Number;
--通过日期获得一个星期内的第几天,周日为0,周一为1,...,周六为6
-- 参数: P_DateTime 日期
-- 应用场合:GetWeekNo(to_date('2011-03-28', 'YYYY-MM-DD')),返回1。
Function GetWeekNo(P_DateTime In Date) Return Number;
--通过日期获取天数
-- 参数: P_DateTime 日期
-- 应用场合:GetDay(to_date('2011-03-28', 'YYYY-MM-DD')),返回28。
Function GetDay(P_Time In Date) Return Number;
--通过日期获取月份数
-- 参数: P_DateTime 日期
-- 应用场合:GetMonth(to_date('2011-03-28', 'YYYY-MM-DD')),返回3。
Function GetMonth(P_DateTime In Date) Return Number;
-- 通过日期获取年份数
-- 参数: P_DateTime 日期
-- 应用场合:GetYear(to_date('2011-03-28', 'YYYY-MM-DD')),返回2011。
Function GetYear(P_DateTime In Date) Return Number;
-- 返回一天的起始时刻,例如:2011-1-1 00:00:00
-- 参数: P_DateTime 日期
Function GetDayBegin(P_DateTime In Date) Return Date;
-- 返回一天的结束时刻,例如:2011-1-1 23:59:59
-- 参数: P_DateTime 日期
Function GetDayEnd(P_DateTime In Date) Return Date;
-- 获得日期值所在月份的第一天,例如:2011-1-1 23:01:05
-- 参数: P_DateTime 日期
Function GetFirstDayOfMonth(P_DateTime In Date) Return Date;
-- 获得日期值所在月份的最后一天,例如:2011-1-31 23:01:05
-- 参数: P_DateTime 日期
Function GetLastDayOfMonth(P_DateTime In Date) Return Date;
-- 获得日期值所在月份的天数,例如:2011-1-1有31天
-- 参数: P_DateTime 日期
Function GetDayCountOfMonth(P_DateTime In Date) Return int;
-- 增加天数,数量可正可负
-- 参数: P_DateTime 日期
-- 参数: P_Count 天数
-- 应用场合:AddDays(to_date('2011-03-28', 'YYYY-MM-DD'), 1),返回2011-03-29。
Function AddDays(P_DateTime In Date, P_Count In int) Return Date;
-- 增加月份数,数量可正可负
-- 参数: P_DateTime 日期
-- 参数: P_Count 月份数
-- 应用场合:AddMonths(to_date('2011-03-28', 'YYYY-MM-DD'), 1),返回2011-04-28。
Function AddMonths(P_DateTime In Date, P_Count In int) Return Date;
-- 创建日期
-- 参数: P_Year 年,例如:2011
-- 参数: P_Month 月,例如:3
-- 参数: P_Day 日,例如:1
-- 应用场合:CreateDate(2011, 3, 28),返回2011-3-28。
Function CreateDate(P_Year In int, P_Month In int, P_Day In int) Return Date;
-- 返回字符或者字符串在另一个字符串中的起始位置,位置从1开始,未找到返回0。例如:GetCharIndex('abc', 'c', 2)返回3。
-- 参数: P_String 字符串
-- 参数: P_DetectChar 想找的字符
-- 参数: P_StartLocation 起始位置,从1开始
-- 应用场合:GetCharIndex('ababcde', 'b', 1),返回2。GetCharIndex('ababcde', 'b', 3),返回4。
Function GetCharIndex(P_String In Varchar2, P_DetectChar in Varchar2, P_StartLocation in int) Return int;
-- 获得字符串长度
-- 参数: P_String 字符串
-- 应用场合:GetLength('abcde'),返回5。
Function GetLength(P_String In Varchar2) Return int;
--日期转为年月日形式的字符串
-- 参数: P_DateTime 需要进行转换的时间
-- 参数: P_Format 自定义参数格式 e.g YYYY(年),MM(月),DD(日)
-- 应用场合:ToDateString(to_date('2011-03-28', 'YYYY-MM-DD'), 'YYYY+MM+DD'),返回2011+03+28。
Function ToDateString(P_DateTime In Date, P_Format In Varchar2) Return Varchar2;
--按将数值转为指定显示小数点后最少1位最多3位的字符串
--参数: P_Value 输入值
-- 应用场合:ToFloatString1(3.1412926),返回3.141。
Function ToFloatString1(P_Value In Number) Return Varchar2;
--日期转为年月日时分秒形式的字符串
-- 参数: P_DateTime 需要进行转换的时间
-- 参数: P_Format 自定义参数格式
-- e.g YYYY-MM-DD HH24:MI:SS YYYY(年),MM(月),DD(日),HH24(两个数字的、24小时制的小时数),MI(两个数字的分钟),SS(两个数字的秒)
-- 应用场合:ToDateTimeString(to_date('2011-03-28', 'YYYY-MM-DD'), 'YYYY+MM+DD+HH24+MI+SS'),返回2011+03+28+00+00+00。
Function ToDateTimeString(P_DateTime In Date, P_Format In Varchar2) Return Varchar2;
--整型转为字符串
--参数:P_Value 整型值
-- 应用场合:IntToString(3),返回3。
Function IntToString(P_Value In Number) Return Varchar2;
--获取系统时间
Function GetSystemTime Return Date;
--字符串转为日期
--参数:P_Value 日期字符串 只接受“YYYY/MM/DD”格式的输入值。
-- 应用场合:StringToDate('2011/03/28'),返回2011-03-28。
Function StringToDate(P_Value In Varchar2) Return Date;
--字符串转为时间
--参数:P_Value 日期字符串 只接受“YYYY-MM-DD HH24:MI:SS”格式的输入值。
-- 应用场合:StringToDate('2011/03/28 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),返回2011-03-28。
Function StringToTime(P_Value In Varchar2) Return Date;
-- 获取子字符串
-- 参数:P_Value 输入字符串
-- 参数: P_StartNumber 开始位置(从1开始)
-- 参数:P_Length 字符串长度
-- 应用场合:GetSubstring('ababcde', 2, 3),返回bab。
Function GetSubstring(P_Value In Varchar2,
P_StartNumber In Number,
P_Length In Number) Return Varchar2;
--格式输出整数 ,format自定义参数格式为:0(一位整数),00(两位整数),以此类推。
-- 参数: P_Value 输入值
-- 参数:P_Format 格式串
-- 应用场合:FormatInt(3, '00'),返回03。
Function FormatInt(P_Value In Number, P_Format In Varchar2) Return Varchar2;
--取模 定义为:return = a % b,例如:10 % 4 = 2。Oracle使用“Mod”实现,SqlServer使用“%”实现。
-- 参数: P_ValueA 基准值
-- 参数:P_ValueB 除数
-- 应用场合:GetMod(3, 4),返回3。
Function GetMod(P_ValueA In Number, P_ValueB In Number) Return Number;
--输出调试信息
-- 参数: P_Message 需要输出的消息
-- 应用场合:Pr_DebugPrint('运行到了这里!')。
Procedure Pr_DebugPrint(P_Message In Varchar2);
浙公网安备 33010602011771号