不允许用户输入少于3个字符的内容。我正在寻找能够获得2个字符或更少3个字符长度的子字符串的东西。
之类的东西`Tes -> Tes
Test -> Tes
TestN -> Tes
TestNa -> Test
TestNam -> TestN
TestName -> TestNa`
我已经尝试过以下但是当传入的字符串是3或4个字符时它不起作用,它会切成3个1和4个到2个字符的数字但是不能想到更好的方法来实现上述< / p>
'name like SUBSTRING (+ @TestName,1,len(@TestName)-2)`
任何帮助?
答案 0 :(得分:2)
在表达式中加入了一点CASE
Declare @YourTable Table ([String] varchar(50))
Insert Into @YourTable Values
('Tes')
,('Test')
,('TestN')
,('TestNa')
,('TestNam')
,('TestName')
Select *
,Left(String,case when Len(String)<=4 then 3 else Len(String)-2 end)
from @YourTable
<强>返回强>
String (No column name)
Tes Tes
Test Tes
TestN Tes
TestNa Test
TestNam TestN
TestName TestNa