Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 sqlserver中的Mid函数_Sql Server 2008 - Fatal编程技术网

Sql server 2008 sqlserver中的Mid函数

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

我试图将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, CHARINDEX(@S, '-') - 2, LEN(@S))

>> AA

SUBSTRING
CHARINDEX
是Mid和InStr函数的等价物。实际上,现在我想,我不确定InStr是否可以工作,您需要CHARINDEX
Mid
InStr
函数,我认为只有SQL 2012+才可用。但是OP要求使用SQL 2008。