Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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整理语法错误_Sql_Sql Server_Syntax_Collate - Fatal编程技术网

SQL Server整理语法错误

SQL Server整理语法错误,sql,sql-server,syntax,collate,Sql,Sql Server,Syntax,Collate,我已经用collate搜索过了,并且正在用答案所说的同样的方法使用它;然而,我得到了一个错误 “COLLATE”附近的语法不正确 我的问题是: SELECT P.FIRST_NAME_SRCH, P.LAST_NAME_SRCH, ' ' as Title, CASE E.FULL_PART_TIME WHEN 'F' THEN 'Full Time' WHEN 'P' THEN 'Part Time' WHEN 'O'

我已经用collate搜索过了,并且正在用答案所说的同样的方法使用它;然而,我得到了一个错误

“COLLATE”附近的语法不正确

我的问题是:

SELECT
    P.FIRST_NAME_SRCH,
    P.LAST_NAME_SRCH,
    ' ' as Title,
    CASE E.FULL_PART_TIME
       WHEN 'F' THEN 'Full Time'
       WHEN 'P' THEN 'Part Time'
       WHEN 'O' THEN 'Occasional'
       ELSE E.FULL_PART_TIME
    END AS FULL_PART_TIME,
    ' ' as Capacity,
    REPLACE(E.HOME_PHONE,'/','-') as HOMEPHONE,
    ' ' as MobilePh,
    ' ' as Email,
    CONVERT(char(10),E.BIRTHDATE,101) as 'BIRTHDATE',
    CASE 
       WHEN E.HIRE_DT > E.REHIRE_DT THEN CONVERT(char(10),E.HIRE_DT,101)
       WHEN E.REHIRE_DT > E.HIRE_DT THEN CONVERT(char(10),E.REHIRE_DT,101)
       ELSE CONVERT(char(10),E.HIRE_DT,101)
    END as 'HIRE_DT',
    ' ' as CommPref,
    RTRIM(K.LEVEL3) as 'JOBCODE',
    E.EMPLID
FROM
    HRPROD..PS_EMPLOYEES E, HRPROD..PS_PERSONAL_DATA P, TKCSDB..CTRLEVEL3CFG K
WHERE
    E.COMPANY = 'WSQ'
    AND E.EMPLID = P.EMPLID
    AND K.VAL106 COLLATE DATABASE_DEFAULT = E.JOBCODE COLLATE DATABASE_DEFAULT
ORDER BY
    P.LAST_NAME_SRCH
我尝试过(有相同的语法错误)

和(返回无法解决等于操作的排序规则冲突。)


我在语法上做错了什么?

这一定是版本问题。通过SQL SERVER 2012 Mgt Studio查询工具执行将返回预期结果,不会出现错误。

可能该比较不是排序规则冲突的来源。我删除了该行,然后执行查询。抱歉-我应该提到…如果您使用:
UPPER(K.VAL106)=UPPER(E.JOBCODE)COLLATE DATABASE\u DEFAULT
?相同的错误:“COLLATE”附近的语法不正确。我还尝试删除UPPER语句。同样的结果
AND 
   UPPER(K.VAL106) COLLATE DATABASE_DEFAULT = UPPER(E.JOBCODE) COLLATE DATABASE_DEFAULT
UPPER(K.VAL106) = UPPER(E.JOBCODE)