Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL选择a"&&引用;做记号_Sql_String_Select - Fatal编程技术网

SQL选择a"&&引用;做记号

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。或者各种不同的组合。有没有办法选择&然后选择右边的所有

我正在编写一些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中。

如果我理解正确,我认为这应该适用于您:-

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,现在“”有意义了。谢谢你的知识炸弹。将在将来使用。