??????? 今天做程序,要截取一个电子邮件的域名,于是我毫不犹豫的使用了下面的代码:
set @WK_Mail = '%' + rtrim(right(@Mail,len(@Mail)-charindex('@',@Mail))) + '%'
奈何测试时总是不对,[email protected]_Mail 不起作用一样.琢磨良久,[email protected](256)型的.而len(@Mail)是不包括尾部的空格部分的.于是,如果
set @Mail = [email protected]'
则它会在后面填充N多的空格,而
len(@Mail) = 11
charindex('@',@Mail) = 4
再计算
right(@Mail,len(@Mail)-charindex('@',@Mail))
的结果就是空白啊空白.作为查询条件当然没作用了.这坑爹的nchar类型和len函数...
????????然后,把代码改成这样:
set @WK_Mail = ltrim(rtrim(@Mail))set @WK_Mail = '%' + right(@WK_Mail,len(@WK_Mail)-charindex('@',@WK_Mail)) + '%'
程序就正常运行了。?
??????? 只怪自己学艺不精,被这么个小东西折腾了半天,先记下在这里,怕以后又给忘了.
?