zoukankan      html  css  js  c++  java
  • charindex的用法

    declare @str nvarchar(50);
    set @str='462,464,2';
    select @str as '字符串'
    select len(@str) as '字符长度'


    select charindex(',',@str,1) as '第一个逗号的索引值'


    select LEFT(@str,charindex(',',@str,1)-1) as '第一个值'


    select SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)) as '从第一逗号开始截取出后面的字符串'


    select LEFT(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),CHARINDEX(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)-1) as '中间的值'


    select SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(@str)) as '最后面的值' --从第二个逗号开始截取出其后的字符串

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

    ALTER PROCEDURE [dbo].[st_MES_InsertInspect]
    ( @ItemNo varchar(50), @ProdDate varchar(19),
    @Bc varchar(10),@CreateMan varchar(50),
    @Qty int,@Mo varchar(50))
    WITH
    EXECUTE AS CALLER
    AS

    insert into MES_Inspect
    (BillNo,ItemNo,CheckType,ProductionTime,ProdNum,ProdBCCode,CreateMan,createtime,BatchNo)

    select 'SL2-'+Convert(varchar(4),Getdate(),120)+'-612-'+datename(MM,GETDATE())+'-'+

    (
    --select right(100000+(convert(int,isnull(right(BillNO,3),0))+1),3)
    --from mes_inspect
    --where ID =(select MAX(id) from MES_Inspect where CheckType=5)

    select case when len(SUBSTRING(BillNO,17,4))=3
    then right(1000000+(convert(int,isnull(right(substring(BillNO,0,17)+'0'+ substring(BillNO,17,LEN(BillNO)),4),0))+1),4)

    else right(1000000+(convert(int,isnull(right(BillNO,4),0))+1),4)
    end
    from mes_inspect
    where ID =(select MAX(id) from MES_Inspect where CheckType=5)
    ),
    @ItemNo,5,@ProdDate,@Qty,@Bc,@CreateMan,getdate(),@Mo

  • 相关阅读:
    装箱,拆箱
    service 入门
    反射的文章
    二叉树的先序遍历,中序遍历,后续遍历 (文章)
    QTP里的DOM应用
    QTP对Excel的操作(EOM)
    QTP实用小技巧(1)
    QTP环境变量的动态生成与加载(深入篇)
    自动化测试基础
    QTP正则表达式
  • 原文地址:https://www.cnblogs.com/chengjun/p/5085991.html
Copyright © 2011-2022 走看看