使用给定的字符,左填充字符串至指定长度。
Oracle中有该函数,但是SQL Server中没有
/*使用指定的字符从左边填充字符串至指定长度
**如果字符串长度大于指定长度,返回字符串左边的子串,长度为指定长度
*/
create function [dbo].[lpad](@s nvarchar(255),@length int,@char char(1))
returns nvarchar(255)
as
begin
declare @fullstring nvarchar(255) --填充后的字符串
declare @fillstring nvarchar(255) --填充的字符串
declare @filllen int --填充的长度
declare @i int
if @length<=len(@s)
return left(@s,@length)
set @filllen=@length-len(@s)
set @i=0
while(@i<@filllen)
begin
set @fillstring=isnull(@fillstring,'')+@char
set @i=@i+1
end
set @fullstring=@fillstring+@s
return @fullstring
end
GO
2、导入Excel数据
lsql:='select * into GoodsTemp from OPENROWSET(''MICROSOFT.JET.OLEDB.4.0'','+QuotedStr('Excel 5.0;HDR=YES;DATABASE='+lfilepath)+',开始盘点)';
ExecSql(GlobalDM.ADOQuery_Public,lsql);
3、获取日期的月分
DATEPART(month, ComeDate)=3 --日期是3月份
4、某个字段不重复记录数
COUNT(distinct comedate) --统计不同日期条数