SQL选择a"&&引用;做记号
我正在编写一些sql代码,需要在字符串中选择特定数量的字符。一个示例字符串是“3350775&1.3”。我需要把一列分成两列,一列是左边的数字,另一列是右边的数字。左手边很简单,因为它的长度总是7位数,所以我可以使用SQL选择a"&&引用;做记号,sql,string,select,Sql,String,Select,我正在编写一些sql代码,需要在字符串中选择特定数量的字符。一个示例字符串是“3350775&1.3”。我需要把一列分成两列,一列是左边的数字,另一列是右边的数字。左手边很简单,因为它的长度总是7位数,所以我可以使用 SELECT Left(Col, 7) as 'Order Number' From tableA where Col like ('%&%') 但是,右侧的数字长度可能会发生变化。它可以是1.1,也可以是12.3。或者各种不同的组合。有没有办法选择&然后选择右边的所有
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中。如果我理解正确,我认为这应该适用于您:-
SELECT
Left(Col, 7) as 'Order Number',
Replace(Col, Left(Col, 7)+'&','') as 'Right hand side'
From tableA where Col like ('%&%')
另一种可能(可能更简单)的解决方案是使用stuff将前8个字符替换为空字符串:-
SELECT
Left(Col, 7) as 'Order Number',
STUFF(Col, 1, 8, '') as 'Right hand side'
From tableA where Col like ('%&%')
这是一个可以采取各种解决方案的问题,所有这些解决方案都会返回相同的结果。如果我理解正确,我认为这应该适用于您:-
SELECT
Left(Col, 7) as 'Order Number',
Replace(Col, Left(Col, 7)+'&','') as 'Right hand side'
From tableA where Col like ('%&%')
另一种可能(可能更简单)的解决方案是使用stuff将前8个字符替换为空字符串:-
SELECT
Left(Col, 7) as 'Order Number',
STUFF(Col, 1, 8, '') as 'Right hand side'
From tableA where Col like ('%&%')
这是一个可以采取各种解决方案的问题,所有这些解决方案都会返回相同的结果。您的RDBMS(SQL风格)是什么?您的RDBMS(SQL风格)是什么?将在10分钟后检查。我查看了replace函数,并希望确保我正确理解此代码。对于replace语句,您是否只是反转选择,如中所示,您是否选择了前7位加上&然后只是选择了剩余的内容?或多或少,是的。replace函数实质上用空字符串替换语句的前8个字符。ahhh,现在“”有意义了。谢谢你的知识炸弹。将在将来使用。将在10分钟内检查。我查看了replace函数,希望确保我正确理解此代码。对于replace语句,您是否只是反转选择,如中所示,您是否选择了前7位加上&然后只是选择了剩余的内容?或多或少,是的。replace函数实质上用空字符串替换语句的前8个字符。ahhh,现在“”有意义了。谢谢你的知识炸弹。将在将来使用。