Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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 2012中_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

“/”附近的语法不正确。在SQL Server 2012中

“/”附近的语法不正确。在SQL Server 2012中,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我试图在这个语句中应用除法运算符,但它抛出了一个错误 “/”附近的语法不正确 我正在使用SQL Server 2012 (select count(distinct emploc) as test from location) / (select count(emploc) from location) 您可以在单个查询中使用它 SELECT count(distinct emploc)/convert(float,count(emploc)) as Test from location

我试图在这个语句中应用除法运算符,但它抛出了一个错误

“/”附近的语法不正确

我正在使用SQL Server 2012

(select count(distinct emploc) as test from location) / 
(select count(emploc) from location)

您可以在单个查询中使用它

SELECT count(distinct emploc)/convert(float,count(emploc)) as Test from location
您需要在表达式之前选择:

select ((select count(distinct emploc) as test from location) /
        (select count(emploc) from location)
       )

SQL查询以select开头。在一些情况下,您可以从选择开始。例如使用union all时。SQL解析器不是算术表达式的通用表达式解析器,因此选择2/1可以工作,但不是2/1。

它应该如下所示

SELECT 
(select count(distinct emploc) as test from location)/(select count(emploc) from location)
虽然你可以在一个单独的查询中

select count(distinct emploc) / count(emploc) from location

我在执行进程时发现了此错误 Msg 102,15级,状态1,程序proc1,第7行 附近的语法不正确。 以下是wk和dd发现语法错误时的脚本 创建过程proc1 @名称VARCHAR50,-数据库名称 @path VARCHAR256,-备份文件的路径 @databasepath VARCHAR256,-备份文件的路径 @fileName VARCHAR256,-备份文件名 @fileDate VARCHAR200,-用于文件名 @DeleteDateBAK DATETIME=DATEADD wk,-1,GETDATE,-截止日期 @DeleteDateTRN DATETIME=DATEADDdd,-2,GETDATE;-截止日期 声明@name VARCHAR50;-数据库名称 声明@path VARCHAR256;-备份文件的路径 声明@databasepath VARCHAR256;-备份文件的路径 声明@fileName VARCHAR256;-备份文件名 声明@fileDate VARCHAR200;-用于文件名 声明@DeleteDateBAK DATETIME=DATEADDwk,-1,GETDATE;-截止日期 声明@DeleteDateTRN DATETIME=DATEADDdd,-2,GETDATE;-截止日期

-备份路径。 SET@path='G:\backup\DXC\u bkp\u计划与维护\'

-获取要包含在文件名中的日期。 选择@fileDate=ReplaceConvertVarchar20,GETDATE,120'-','','':', 设置@fileDate=@fileDate+''\ 设置@fileDate=@fileDate+CONVERTVARCHAR200,ABSCONVERTBIGINT,CONVERTBINARY8,新ID%10000000

-动态获取服务器上的每个数据库。 声明的db_游标 选择名称 从master.sys.databases 其中名称不在“主”、“模型”、“msdb”、“tempdb”、“ApexSQLBackupCentralRepository”、“职业发展”、“CensusDB”、“上下文”、“控制”、“仪表板”、“DAY_仪表板”、“dbdgetEnglishForHP-CMS”、“Ddget_Uh”、“DdH”、“Dummy_UDS”、“GOA”、“GoogleAnalytics”、“INSTDB”、“Mig”、“Migrated”、“Qual”、“Rnduurancs”、“Test”中

打开db_光标; 从db_游标获取下一个到@name

-循环浏览列表以备份每个数据库。 而@@FETCH\u STATUS=0 开始 -生成路径和文件名。 设置@databasepath=@path+@name+N'\'; SET@fileName=@databasepath+@name+'backup'+@fileDate+'.BAK'

  EXEC master.dbo.xp_create_subdir @databasepath

  -- Backup the database.
  BACKUP DATABASE @name TO  DISK = @fileName WITH NOFORMAT, NOINIT, SKIP, REWIND, NOUNLOAD, COMPRESSION,  STATS = 10;

  -- Purge old backup files from disk.
  EXEC master.sys.xp_delete_file 0,@path,'BAK',@DeleteDateBAK,1;
  EXEC master.sys.xp_delete_file 0,@path,'TRN',@DeleteDateTRN,1;

  -- Loop to the next database.
  FETCH NEXT FROM db_cursor INTO @name;
结束 -清理一下。 关闭db_光标; 释放db_游标

在开始处添加另一级别的SELECT。