我只想拥有每部电影的钱而不是国家和日期。现在,每个人都有类似$999,046 (USA) (14 August 2011) $xxxx
国家数据的东西。我只能得到$999,046, $xxx
。他们有不同的日期,其中一些有(非美国(。
我只想拥有货币价值,而不是日期和国家
我不确定您正在使用的RDBMS,但是如果使用SQL Server,您总是可以执行这样的操作。
SELECT (LEFT(money_column, CHARINDEX(' ', money_column)-1) + ', '
+ RIGHT(money_column, CHARINDEX(' ', money_column)-1)) as money_values
FROM film_table
SQL小提琴示例
在您的示例中,似乎抓住第一个空间左侧的文本会解决问题。如果是这样,请这样做:
select case charindex(' ', moneycolumn)
when 0 then moneycolumn
else substring(moneycolumn, 1, charindex(' ', moneycolumn)) end dollars
from filmtable
您可以使用substring((如下 -
DECLARE @T VARCHAR(200)
SET @T = '$999,046 (USA) (14 August 2011) $xxxx'
SELECT
SUBSTRING(@T,0,CHARINDEX(' ',@T,0))
+', '+
SUBSTRING(@T,CHARINDEX('$',@T,CHARINDEX(' ',@T,0)),LEN(@T))