Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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 如果您试图按数量进行筛选或聚合,则仍然必须分析所有行以提取值。@panagiotiskanavos-Plz CheckNow@panagiotiskanavos-请现在检查 DECLARE @Value varchar(500) = 'Charge : _Sql_Sql Server_Tsql_Sql Server 2017 - Fatal编程技术网

Sql 如果您试图按数量进行筛选或聚合,则仍然必须分析所有行以提取值。@panagiotiskanavos-Plz CheckNow@panagiotiskanavos-请现在检查 DECLARE @Value varchar(500) = 'Charge :

Sql 如果您试图按数量进行筛选或聚合,则仍然必须分析所有行以提取值。@panagiotiskanavos-Plz CheckNow@panagiotiskanavos-请现在检查 DECLARE @Value varchar(500) = 'Charge : ,sql,sql-server,tsql,sql-server-2017,Sql,Sql Server,Tsql,Sql Server 2017,如果您试图按数量进行筛选或聚合,则仍然必须分析所有行以提取值。@panagiotiskanavos-Plz CheckNow@panagiotiskanavos-请现在检查 DECLARE @Value varchar(500) = 'Charge : Landlord Rent Amount changed from 1300.00 to 1301.00 Daily Amount changed from 42.74 to 42.77' -- DECLARE @Value varc


如果您试图按数量进行筛选或聚合,则仍然必须分析所有行以提取值。@panagiotiskanavos-Plz CheckNow@panagiotiskanavos-请现在检查
 DECLARE @Value varchar(500) = 'Charge : Landlord Rent  Amount changed from 1300.00 to 1301.00  Daily Amount changed from 42.74 to 42.77'
--    DECLARE @Value varchar(500) = 'Charge : Landlord Rent  Amount changed from 300.00 to 301.00  Daily Amount changed from 42.74 to 42.77'    


    SELECT 
        LEFT(name, charindex(' ', name) - 1) as FromAmount
    from 
    (
    SELECT
        SUBSTRING(@Value,
                  CHARINDEX('Amount changed from', @Value) + 20,
                  CHARINDEX('Daily Amount', @Value, CHARINDEX('Amount changed from', @Value)) -
                      CHARINDEX('Amount changed from', @Value) - 20) AS name
    ) t1
    
    SELECT 
        RIGHT(name, charindex('To ', name)) as ToAmount
    from 
    (
    SELECT
        SUBSTRING(@Value,
                  CHARINDEX('Amount changed from', @Value) + 20,
                  CHARINDEX('Daily Amount', @Value, CHARINDEX('Amount changed from', @Value)) -
                      CHARINDEX('Amount changed from', @Value) - 20) AS name
    ) t1
DECLARE @Value varchar(500) = 'Charge : Landlord Rent  Amount changed from 1300.00 to 1301.00  Daily Amount changed from 42.74 to 42.77'

SET @Value= REPLACE(@VALUE,SUBSTRING(@VALUE,CHARINDEX('Daily Amount changed from',@Value),LEN(@VALUE)),'')
--DECLARE @Value varchar(500) = 'Charge : Landlord Rent  Amount changed from 300.00 to 301.00  Daily Amount changed from 42.74 to 42.77'    

DECLARE @expres  VARCHAR(50) = '%[:,~,@,#,$,%,&,*,(,),a-z,A-Z,!]%'

WHILE PATINDEX( @expres, @Value ) > 0
SET @Value = Replace(REPLACE( @Value, SUBSTRING( @Value, PATINDEX( @expres, @Value ), 1 ),''),'-',' ')


SELECT SUBSTRING(TRIM(@Value),1,CHARINDEX('  ',TRIM(@Value))) AS FROM_Amt ,SUBSTRING(TRIM(@Value),CHARINDEX('  ',TRIM(@Value)),LEN(TRIM(@Value))) AS To_Amt
DECLARE @Value varchar(500) = 'Charge : Landlord Rent  Amount changed from 1300.00 to 1301.00  Daily Amount changed from 42.74 to 42.77'

;WITH cteXML AS(
  SELECT CAST('<Charge>'
             + REPLACE(
                       REPLACE(
                               REPLACE(
                                       REPLACE(
                                               REPLACE(
                                                       REPLACE(@Value
                                                              ,'  '
                                                              ,' '
                                                              )
                                                      ,' Daily Amount changed from '
                                                      ,'</to></Rent><Daily><from>'
                                                      )
                                              ,'Amount changed from '
                                              ,'<from>'
                                              )
                                      ,' to '
                                      ,'</from><to>'
                                      )
                              ,'Charge : Landlord Rent '
                              ,'<Rent>'
                              )
                      ,'  Daily Amount '
                      ,'</to></Rent><Daily>'
                      )
             + '</to></Daily></Charge>' AS XML) AS ValueXml
),
cteXMLColumns AS(
  SELECT ValueXml.value('(Charge/Rent/from)[1]', 'DECIMAL(19,4)') AS RentFrom
        ,ValueXml.value('(Charge/Rent/to)[1]', 'DECIMAL(19,4)') AS RentTo
        ,ValueXml.value('(Charge/Daily/from)[1]', 'DECIMAL(19,4)') AS DailyFrom
        ,ValueXml.value('(Charge/Daily/to)[1]', 'DECIMAL(19,4)') AS DailyTo
    FROM cteXML
)
SELECT *
  FROM cteXMLColumns