Sql server 2008 sqlserver中的Mid函数
我试图将access查询转换为SQLServer2008,但它似乎不喜欢我的MID语句(或者我的InSTR)。如何将其等同于SQL Server查询Sql server 2008 sqlserver中的Mid函数,sql-server-2008,Sql Server 2008,我试图将access查询转换为SQLServer2008,但它似乎不喜欢我的MID语句(或者我的InSTR)。如何将其等同于SQL Server查询 Mid$([a]![POName],(InStr([a]![POName],"-")-1))) 删除$,交换!具有并将双引号改为单引号- Mid(a.POName,(InStr(a.POName,'-')-1))) 大概你想要: DECLARE @S VARCHAR(10) = 'AA-BB' SELECT SUBSTRING(@S, CHA
Mid$([a]![POName],(InStr([a]![POName],"-")-1)))
删除$,交换!具有并将双引号改为单引号-
Mid(a.POName,(InStr(a.POName,'-')-1)))
大概你想要:
DECLARE @S VARCHAR(10) = 'AA-BB'
SELECT SUBSTRING(@S, CHARINDEX(@S, '-') - 2, LEN(@S))
>> AA
SUBSTRING
和CHARINDEX
是Mid和InStr函数的等价物。实际上,现在我想,我不确定InStr是否可以工作,您需要CHARINDEXMid
和InStr
函数,我认为只有SQL 2012+才可用。但是OP要求使用SQL 2008。