我正在编写一些需要在字符串中选择特定字符数的sql代码。示例字符串将是" 3350775& 1.3。"。我需要将一列分成两列,一列是&和左侧的数字。而另一个是正确的。左侧很容易,因为它总是7位数,所以我可以使用
SELECT
Left(Col, 7) as 'Order Number'
From tableA where Col like ('%&%')
但是,右侧的数字可能会改变长度。它可能是1.1。,或12.3。或各种不同的组合。有没有办法选择&然后选择右侧的所有数字。一些例子如下:
3154878&安培; 1.1。在col1和1.1中将是3154878。在col2
3154878&安培; 12.1。在col1和12.1中将是3154878。在col2。
答案 0 :(得分:3)
如果我理解正确,我认为这应该适合你: -
delete
另一种可能的(更简单的)解决方案是使用stuff用空字符串替换前8个字符: -
SELECT
Left(Col, 7) as 'Order Number',
Replace(Col, Left(Col, 7)+'&','') as 'Right hand side'
From tableA where Col like ('%&%')
这是可以采取各种解决方案的问题之一,它们都会返回相同的结果。