求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()函数。不知表述是否清楚,望高手解答 展开
 我来答
372712810
2013-09-22 · 超过21用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:50.8万
展开全部
这种东西肯定不会有通用的啊 我指的是方法的名称 不过算法是不变的

你需要一个连接字符串的函数 然后呢 你的id是int或者NUMBER 要转换成字符类型 你的问题就解决了 不同数据库同一个意义表达的函数名肯定不会完全一样 但是 意义一样就足够了 ,我这么说你应该懂了吧!
更多追问追答
追问
嗯,我明白,做产品吗,最好是要求SQL语句能适应所有数据库,便于快速部署,我也研究了一下,发现可能没有通用的,但又怕自己太浅薄,所以拿出来让高手们看看,是否真的没有。
追答
不过这个可以写的  你可以写个方法然后去替换那个语句 不同的数据库用不同的语句!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式