我试图对上述三个DBMS使用相同的sql语句。。但问题是它涉及到字符串连接,但是每个dbms中有不同的连接操作方式。。但我要单人接线员。。需要别人的帮助
最佳答案
您也许可以在应用程序代码中绕过此问题,方法是在sql语句中使用用于连接的占位符,然后将其替换为您正在使用的rdbms的正确样式:
select {conpre} myfield1 {conmid} myfield2 {conmid} myfield3 {conend}
from mytable
然后在伪代码中:
if rdbms is sqlserver
conpre = ""
conmid = " + "
conend = ""
else if rdbms is mysql
conpre = "concat("
conmid = ", "
conend = ")"
else if rdbms is oracle
conpre = ""
conmid = " || "
conend = ""
else if
' etc...
end if
stmt = replace(stmt, "{conpre}", conpre)
stmt = replace(stmt, "{conmid}", conmid)
stmt = replace(stmt, "{conend}", conend)