我在sql中有一个名为地址的字段,其中包含80个字符。 我想把这个字段放入2个字段addr1和addr2每个40个字符。 我该怎么做。
答案 0 :(得分:3)
这适用于T-SQL,但它与PL / SQL
的区别不大declare @yourVar varchar(80)
select substring(@yourVar, 1, 40), substring(@yourVar, 40, 40)
答案 1 :(得分:2)
对于plsql,它是substr(),所以选择substr(addr,1,40)作为addr1,substr(addr,40)作为addr2来自......
答案 2 :(得分:0)
如果您将该表更改为包含两列而不是一列,我认为您的架构会更好。我更喜欢解析当前值的解决方案。
答案 3 :(得分:0)
蛮力斩断位置40处的80个字符的值会导致在单词中间断开的风险。您可能希望改为:
上述操作的具体细节取决于您可以使用哪些工具(例如,仅使用SQL,或从一个数据库读取以及使用单独的程序写入另一个数据库等)。
有可能填充80个字符的值,使得“单词”之间的断开将要求其中一个结果值长度超过40个字符以避免截断。