我正在开发使用 DB2/400 数据库 (IBMi) 的 Rest API。
我正在使用此字符串连接到数据库:
// Defaut connexion string
ConnectString = "Provider=IBMDA400;" + "Password=xxxxxxx;" +"User ID=Bxxxxxxxx;" +"Data Source=XXX.XX.XX.XX;";
与系统的连接运行良好:
ConnectLst = new OleDbConnection(ConnectString);
try
{
ConnectLst = new OleDbConnection(ConnectString);
ConnectLst.Open();
ResCnx = true;
}
catch (Exception ex)
{
ResCnx = false;
}
finally
{ }
return ResCnx;
我的问题是带有子字符串的简单 SQL 请求不起作用:
string W_RqtSql = "SELECT SUBSTRING(CDMATN,2,3) " +
" FROM " + @_Schema + ".CSALAR CSAL " +
" where CSAL.NOPPHN = '" + @_NumPers + "'";
我有以下错误消息:
$exception {"SQL0104: Syntactic element ,2 is not correct. Possible elements: , FROM.\r\nCause . . . . .: A syntax error was detected at element ,2. , 2 is not a valid element. , FROM is a partial list of valid elements.
我也尝试过
SUBSTR
,但还是不行。
没有“子字符串”一词的相同 SQL 请求效果很好:
string W_RqtSql = "SELECT CDMATN " +
" FROM " + @_Schema + ".CSALAR CSAL " +
" where CSAL.NOPPHN = '" + @_NumPers + "'";
如何选择列值的子字符串?
我认为至少存在一个带有len的rec<6.you can check Len then get substring