从文本字段中提取数据
Pulling data out of a text field
我有一个注释文本字段,其中包含 2 个字段:price
和 desc
价格从来不是相同数量的字符,而是文本格式
示例:(51445 文字说明) 或(9801 文字说明)
如何设置它以提取金额,然后将其格式化为 2 位小数?
我试过:LEFT(note_text,CHARINDEX(' ', note_text) - 1) AS Incoming_Cust_Prc
但这不起作用。我收到一个错误
ORA-00904 LEFT invalid identifier
错误信息提示DBMS是Oracle而不是SQL Server,其中有LEFT()
和CHARINDEX()
等功能。因此,使用 Oracle 函数作为
SELECT TO_CHAR(SUBSTR(note_text,1,INSTR(note_text,' ')), 'fm999G999D00') AS Incoming_Cust_Prc,
SUBSTR(note_text,INSTR(note_text,' ')+1,LENGTH(note_text)) AS Incoming_Cust_Desc
FROM t
为了获得两个单独的列 price
和 description
。
我有一个注释文本字段,其中包含 2 个字段:price
和 desc
价格从来不是相同数量的字符,而是文本格式
示例:(51445 文字说明) 或(9801 文字说明)
如何设置它以提取金额,然后将其格式化为 2 位小数?
我试过:LEFT(note_text,CHARINDEX(' ', note_text) - 1) AS Incoming_Cust_Prc
但这不起作用。我收到一个错误
ORA-00904 LEFT invalid identifier
错误信息提示DBMS是Oracle而不是SQL Server,其中有LEFT()
和CHARINDEX()
等功能。因此,使用 Oracle 函数作为
SELECT TO_CHAR(SUBSTR(note_text,1,INSTR(note_text,' ')), 'fm999G999D00') AS Incoming_Cust_Prc,
SUBSTR(note_text,INSTR(note_text,' ')+1,LENGTH(note_text)) AS Incoming_Cust_Desc
FROM t
为了获得两个单独的列 price
和 description
。