求sqlserver\mysql\oracle\db2通用的主键拼接SQL语句
现在需要对主键ID,进行拼接,如原ID为1,要拼成-31(即前面加-3),自己写了个concat('-3',id),但问题是DB2不能对主键BIGINT类型自动转换。于是...
现在需要对主键ID,进行拼接,如原ID为1,要拼成-31(即前面加-3),自己写了个concat('-3',id),但问题是DB2不能对主键BIGINT类型自动转换。于是,就试着在DB2中转换concat('-3',char(id)),这样就可以了,可其它数据库并不兼容char()函数。不知表述是否清楚,望高手解答
展开
1个回答
展开全部
这种东西肯定不会有通用的啊 我指的是方法的名称 不过算法是不变的
你需要一个连接字符串的函数 然后呢 你的id是int或者NUMBER 要转换成字符类型 你的问题就解决了 不同数据库同一个意义表达的函数名肯定不会完全一样 但是 意义一样就足够了 ,我这么说你应该懂了吧!
你需要一个连接字符串的函数 然后呢 你的id是int或者NUMBER 要转换成字符类型 你的问题就解决了 不同数据库同一个意义表达的函数名肯定不会完全一样 但是 意义一样就足够了 ,我这么说你应该懂了吧!
更多追问追答
追问
嗯,我明白,做产品吗,最好是要求SQL语句能适应所有数据库,便于快速部署,我也研究了一下,发现可能没有通用的,但又怕自己太浅薄,所以拿出来让高手们看看,是否真的没有。
追答
不过这个可以写的 你可以写个方法然后去替换那个语句 不同的数据库用不同的语句!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询