sqlserver中去除字符串中连续的分隔符的sql语句

declare @str varchar(20)
–select @str = ”
select @str = @str + ‘abc’
print @str

Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml
Razor基础语法:
1、代码注释:
 
    多行注释: @*注释信息*@
 
   单行注释: // 注释

以下测试用于去除任何字符串中连线的分隔符 复制代码 代码如下: –去除字符串中连续的分隔符
declare @str nvarchar(200) declare @split nvarchar(200),@times int set
@str=’中 国1 2 34 55 5 6 7 7′;–字符 set @split=’ ‘; –分隔符 select
@times=(len(@str)-len(replace(@str,@split+@split,”)))/2 while @times0
begin set @str=REPLACE(@str,@split+@split,’ ‘) set @times=@times-1 end
select @str 希望对大家有作用 测试结果: 中 国1 2 34 55 5 6 7 7 (1
行受影响)

观察上述代码,其中第二行是被注释掉了的,运行上述代码,将不会输出任何结果。

1、代码体{…}

假如我们取消第二行的注释,将会输出 abc,说明 T-SQL
中最好还是给变量赋初始值。

 

[html] view
plaincopy

  1. @{  var x=100;  
  2.     var y=100;  
  3.     string str=”this is string”;  
  4. }  

 

 

在代码体中,没一行都需要用”;”结束,代码区中,字母区分大小写。字符类型常量必须用””括起来,

2、
由于asp.net引擎会检解析查每个已@开头的代码,除非@前包括非空白字符;如:<div>test@razor</div> 
这样输出的信息还是test@razor,这不会进行解析,页面输出@符合,可以用HTML中的ASCII编码&#64。

3、 在Razor中使用局部变量,进行上下文调用:

 

[html] view
plaincopy

  1. @{  
  2. var message=”现在时间为:”;  
  3. var time=DateTime.Now;  
  4. var outMessage=message+time;  
  5. }  
  6. <div>@outMessage </div>   

页面输出为:现在时间为:2011/12/14
20:26:13; 

 

4、字符拼接输出

[html] view
plaincopy

  1. @{var cout=100;}  
  2. <p>这是第 @count 个进球 </p>  

页面输出:这是第
100 个进球

如果页面要输出:这是第100个进球
则调用方式则为:<p>这是第@{@count}个进球</p>,
如果直接用<p>这是第@count个进球</p>,页面将会直接输出:这是第@count个进球

如果输出的是变量的方法名:
<p>这是第@count.ToString()个进球</p>,则可以不用@{}标志

5、
在@{…}代码体中输出文字,需要用到@:,如下所示:

[html] view
plaincopy

  1. @{  
  2.      var name=”张三”;  
  3.      @:你好:  
  4. 澳门新葡萄京娱乐场,     @:@name          
  5.  }  

页面输出:你好:张三

6、 逻辑代码处理

 

[html] view
plaincopy

  1. @{  
  2.     if(true)  
  3.     {  
  4.         // do something;  
  5.     }  
  6.     else  
  7.     {  
  8.         // do something;  
  9.     }  
  10. }  

 

 

7、
在@{…}代码体内部使用html标记

[html] view
plaincopy

  1. @{  
  2.         <div>this is <span>test</span></div>  
  3.  }  

 页面输出:this
is test
 要进行多行输出时可用:

[html] view
plaincopy

  1. @{  
  2.        <text>  
  3.        this first,  
  4.        this secend    
  5.        </text>         
  6.      }  

 
页面输出:this first, this secend 
 
8、
在@{…}内部使用注释

[html] view
plaincopy

  1. @{  
  2.     // 单行注释  
  3.     var mesage = “Now Time:”;  
  4.     @*   
  5.         当前时间  
  6.         输出当前时间  
  7.     *@   
  8.       
  9.     /*  
  10.      *  使用C#中的  
  11.      *  注释  
  12.      */  
  13.     var time = DateTime.Now;  
  14.   
  15. <!– HTML注释–>  
  16.     var outMessage = mesage + time;  
  17.  }  

 

9、 数据类型转换

      

[html] view
plaincopy

  1.    AsInt(), IsInt()  
  2.  AsBool(),IsBool()  
  3.  AsFloat(),IsFloat()  
  4.  AsDecimal(),IsDecimal()  
  5.  AsDateTime(),IsDateTime()  
  6.  ToString()  
  7.   
  8.   @{  
  9.        var count = “100”;  
  10.    }  
  11.      
  12.    <p>count:@count.AsInt()</p>  
  13. 输出:count:100  
  14.    <p>@count.IsInt()</p>  
  15. 输出:True  
  16.   
  17.    如果  
  18. @{  
  19.              var count = “test”;  
  20.  }  
  21.      
  22.    <p>count:@count.AsInt()</p>  
  23. 输出:count:0  
  24.    <p>@count.IsInt()</p>  
  25. 输出:False  

 

 

 

即:AsInt()
如果转换不成功直接为0,IsInt返回Bool值,其他类似

10、循环使用

[html] view
plaincopy

  1. @{  
  2.         /* for循环使用 */  
  3.         for(int k=1;k<5;k++)  
  4.         {  
  5.             @:第 @k 个;  
  6.         }  
  7.   
  8.   
  9.         @*页面输出:第 1 个; 第 2 个; 第 3 个; 第 4 个; *@  
  10.           
  11.         // foreach 使用  
  12.         var list =new List<string> { “one”, “two”, “three”, “four” };  
  13.         foreach(var str in list)  
  14.         {  
  15.             @:@str;  
  16.         }  
  17.         @*页面输出:one; two; three; four; *@  
  18.           
  19.         var flag=1;  
  20.         while(flag<5)  
  21.         {   
  22.            @:第@{@flag}个;   
  23.            flag++;  
  24.         }  
  25.          @*页面输出:第1个; 第2个; 第3个; 第4个; *@  
  26. }  

发表评论

电子邮件地址不会被公开。 必填项已用*标注