带有"Turkish_CI_AS"的SQL错误;和"SQL_Latin1_General_CP1_CI_AS"; [英] SQL Error with "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS"
问题描述
我有这样的SQL查询:
I have a SQL query like this:
SELECT E.HESAP, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2 AS 'TEKLIF',
E.MUSTERI,CONVERT(VARCHAR(10),B.ISL_TAR,103) AS 'TARIH', SUM(
ISNULL(CAST(B.ODENEN_ANAPARA AS FLOAT),0)+ISNULL(CAST(B.FAIZ AS FLOAT),0)+
ISNULL(CAST(B.BSMV AS FLOAT),0)+ISNULL(CAST(B.GECIKME_FAIZ AS FLOAT),0)+
ISNULL(CAST(B.GECIKME_BSMV AS FLOAT),0)) AS 'YATAN',
(CASE WHEN C.DOVIZ_KOD = 21 THEN 'EUR' WHEN C.DOVIZ_KOD = 2 THEN 'USD' WHEN C.DOVIZ_KOD = 1 THEN 'TL' END) AS 'KUR',
E.AVUKAT, CONVERT(VARCHAR(10),A.ICRA_TAR,103) AS 'İCRA TARİHİ', CONVERT(VARCHAR(10),A.HACIZ_TAR,103) AS 'HACİZ TARİHİ'
FROM TAKIP A, YAZ..MARDATA.BIR_TAHSIL B,
YAZ..MARDATA.S_TEKLIF C,P_TAKIP_SR D, AVUKAT E
WHERE B.TEKLIF_NO1 = C.TEKLIF_NO1
AND B.TEKLIF_NO2 = C.TEKLIF_NO2
AND A.T_HESAP_NO = C.HESAP_NO
AND C.HESAP_NO = B.HESAP_NO
AND B.HESAP_NO = E.HESAP
AND A.T_SRM = D.T_SR_ID
AND A.T_STATU = 2
AND A.T_SRM <> 6
但是当我运行它时,我得到一个错误:
But when I run it, I get an error:
"/"应用程序中的服务器错误.
无法解决"Turkish_CI_AS"和"Turkish_CI_AS"之间的排序规则冲突的"SQL_Latin1_General_CP1_CI_AS"等于操作.
说明:在处理期间发生未处理的异常当前Web请求的执行.
请查看堆栈跟踪以获取更多信息有关错误以及位置的信息它起源于代码.
Server Error in '/' Application.
Cannot resolve the collation conflict between "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
Description: An unhandled exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and where it originated in the code.
异常详细信息:System.Data.SqlClient.SqlException:无法解决排序规则冲突在"Turkish_CI_AS"和的"SQL_Latin1_General_CP1_CI_AS"等于操作.
Exception Details: System.Data.SqlClient.SqlException: Cannot resolve the collation conflict between "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
源错误:第77行:myConnection.Open();第78行:第79行:SqlDataReader dr = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);第80行:第81行://显示数据
Source Error: Line 77: myConnection.Open(); Line 78: Line 79: SqlDataReader dr = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection); Line 80: Line 81: // show the data
我找不到错误.在哪里?
I can't find the error. Where is it?
推荐答案
文字'/'
将采用数据库的默认排序规则.
The literal '/'
will assume the default collation of the database.
尝试
... B.TEKLIF_NO1 + '/' COLLATE Turkish_CI_AS + B.TEKLIF_NO2 AS 'TEKLIF' ...
这篇关于带有"Turkish_CI_AS"的SQL错误;和"SQL_Latin1_General_CP1_CI_AS";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!