select * from table1 where column1 = @col
如果没搜到符合的记录, 把@col最右边的字符去掉再搜; 如果没搜到, 再去一个字符, 直到剩下一个字母. @col有可能含1-7个字母. DB是SQL Server.
我现在想到的是写 len(@col) 个select, 然后coalesce, 还没试能不能行. 即使行的话, 也够庞大的. 请问大侠们有好的建议?
===============================================================================
1st try: @col = 'ab'
select * from table1 where column1 = 'ab'
return nothing
2nd try: 把@col最右边的字符去掉再搜, @col='a'
select * from table1 where column1 = 'a'
still return nothing
3rd try: 把@col最右边的字符去掉再搜, @col=''
select * from table1 where column1 = ''
still return nothing
什么地方理解错了?
如果没搜到符合的记录, 把@col最右边的字符去掉再搜; 如果没搜到, 再去一个字符, 直到剩下一个字母. @col有可能含1-7个字母. DB是SQL Server.
我现在想到的是写 len(@col) 个select, 然后coalesce, 还没试能不能行. 即使行的话, 也够庞大的. 请问大侠们有好的建议?
===============================================================================
1st try: @col = 'ab'
select * from table1 where column1 = 'ab'
return nothing
2nd try: 把@col最右边的字符去掉再搜, @col='a'
select * from table1 where column1 = 'a'
still return nothing
3rd try: 把@col最右边的字符去掉再搜, @col=''
select * from table1 where column1 = ''
still return nothing
什么地方理解错了?