Hướng dẫn sql extract text from html - sql trích xuất văn bản từ html

0

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có HTML trong bảng cơ sở dữ liệu của mình có định dạng sau

 
Hướng dẫn sql extract text from html - sql trích xuất văn bản từ html

5

Khá đơn giản bằng cách sử dụng Subring và Patindex theo đề xuất của Tab Alleman. Đây là một cách bạn có thể làm điều này.

declare @String varchar(1000) = '
Hướng dẫn sql extract text from html - sql trích xuất văn bản từ html

Sean Langesean LangeSean Lange

32.4K3 Huy hiệu vàng26 Huy hiệu bạc39 Huy hiệu đồng3 gold badges26 silver badges39 bronze badges

2

Tôi đã tạo chức năng để trích xuất văn bản từ HTML.

Create function  [dbo].[RetriveTextFromHTML](@htmlstring varchar(Max))

returns varchar(Max)

AS

BEGIN

Set @htmlstring=Replace(@htmlstring,' ',' ');
Set @htmlstring=Replace(@htmlstring,'Note:','');
DECLARE @startTag varchar(25) = '%[<]%'
DECLARE @endTag varchar(25) = '%[>]%'
Declare @endTagIndex int =0;
Declare @startTagIndex int =0;
WHILE PATINDEX(@startTag,@htmlstring)>0
 Begin
        Set @startTagIndex=PATINDEX(@startTag,@htmlstring);
        Set @endTagIndex=PATINDEX(@endTag,@htmlstring);
        SET @htmlstring = Stuff(@htmlstring,@startTagIndex,(@endTagIndex-@startTagIndex)+1,'');
 End

return RTRIM(@htmlstring)

END

Gọi phương thức này là

Select [dbo].[RetriveTextFromHTML]('Hello World')

Output:

Chào thế giới

Đã trả lời ngày 20 tháng 7 lúc 6:29Jul 20 at 6:29

Làm thế nào tôi có thể nhận được một số từ nhất định từ một chuỗi trong SQL?

Hàm SQL Server Subring ().

Trích xuất 3 ký tự từ một chuỗi, bắt đầu ở vị trí 1: Chọn Substring ('Hướng dẫn SQL', 1, 3) làm Trích xuấtString ;.

Trích xuất 5 ký tự từ cột "Tên tùy chỉnh", bắt đầu ở vị trí 1: ....

Trích xuất 100 ký tự từ một chuỗi, bắt đầu ở vị trí 1:.

Làm cách nào để nhận được 5 ký tự đầu tiên của chuỗi trong SQL?

Trích xuất 5 ký tự từ cột "Tên tùy chỉnh", bắt đầu ở vị trí 1: ....

Trích xuất 100 ký tự từ một chuỗi, bắt đầu ở vị trí 1:.

Trích xuất 5 ký tự từ cột "Tên tùy chỉnh", bắt đầu ở vị trí 1: ....

Trích xuất 100 ký tự từ một chuỗi, bắt đầu ở vị trí 1:.

Làm cách nào để nhận được 5 ký tự đầu tiên của chuỗi trong SQL?

SQL Server fort () hàm bên trái () hàm trích xuất một số ký tự từ một chuỗi (bắt đầu từ trái).

Làm cách nào để nhận được 3 ký tự đầu tiên của một chuỗi trong SQL?

BẮT ĐẦU

Bạn có thể sử dụng hàm len () hoặc length () (trong trường hợp của Oracle SQL) để có độ dài của một cột. Chọn Len (Cột_Name) từ Table_Name; Và bạn có thể sử dụng hàm con hoặc hàm con () GO Nhận ba ký tự đầu tiên của một cột.

Tôi đã sử dụng tập lệnh dưới đây và tôi không nhận được văn bản sạch.

Tôi muốn trích xuất toàn bộ văn bản mà một trình duyệt sẽ hiển thị cho mã DHTML của tôi. Kịch bản dưới đây đang cung cấp một số ký tự không được công nhận. Tôi đang chạy ngắn thời gian cho những thứ khác, vì vậy không thể xem xét vấn đề và bài viết. Cảm ơn vì đã hồi âm!

Sử dụng [Opinikhil]

ĐI

/****** Đối tượng: StoredProcedure [DBO].

Đặt @end = @Start + 4

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

CHẤM DỨT

- Thay thế bất kỳ

Đặt @end = @Start + 4

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Đặt @start = charindex ('

Thẻ với một dòng mới

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

CHẤM DỨT

Đặt @start = charindex ('

Thẻ với một dòng mới

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Thẻ với một dòng mới

Thẻ với một dòng mới

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

CHẤM DỨT

Thẻ với một dòng mới

Thẻ với một dòng mới

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

- Thay thế bất kỳ

Đặt @end = @Start + 4

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

CHẤM DỨT

- Thay thế bất kỳ

Đặt @end = @Start + 4

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Thẻ với một dòng mới

Đặt @end = @Start + 4

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

CHẤM DỨT

Thẻ với một dòng mới

Đặt @end = @Start + 4

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Thẻ với một dòng mới

Đặt @start = charindex ('

', @Htmltext)

Đặt @end = @Start + 3

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

Đặt @htmltext = công cụ (@htmltext, @Start, @length, char (13) + char (10))

Đặt @start = charindex ('

', @Htmltext)

Đặt @end = @Start + 3

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Thẻ với một dòng mới

Đặt @start = charindex ('

', @Htmltext)

Đặt @end = @Start + 3

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

Đặt @htmltext = công cụ (@htmltext, @Start, @length, char (13) + char (10))

Đặt @start = charindex ('

', @Htmltext)

Đặt @end = @Start + 3

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Thẻ với một dòng mới

Đặt @start = charindex ('

', @Htmltext)

Đặt @end = @Start + 3

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

Đặt @htmltext = công cụ (@htmltext, @Start, @length, char (13) + char (10))

Đặt @start = charindex ('

', @Htmltext)

Đặt @end = @Start + 3

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Đặt @start = charindex ('

', @Htmltext)

Đặt @Lpm = (@end - @start) + 1

While (@Start> 0 và @end> 0 và @length> 0)

BẮT ĐẦU

Đặt @htmltext = công cụ (@htmltext, @Start, @length, char (13) + char (10))

Đặt @start = charindex ('

', @Htmltext)

Đặt @Lpm = (@end - @start) + 1

CHẤM DỨT

- Thay thế bất kỳ

Thẻ với một dòng mới

Đặt @start = charindex ('

CHẤM DỨT

Bạn có thể sử dụng SQL với HTML không?

Bạn có thể sản xuất HTML từ SQL vì SQL Server có hỗ trợ tích hợp để xuất XML và HTML được hiểu rõ nhất là một phương ngữ hơi kỳ lạ của XML truyền đạt ý nghĩa cho các thẻ được xác định trước. Có rất nhiều trường hợp cạnh trong đó một cấu trúc HTML là cách rõ ràng nhất để truyền đạt các bảng, danh sách và thư mục. because SQL Server has built-in support for outputting XML, and HTML is best understood as a slightly odd dialect of XML that imparts meaning to predefined tags. There are plenty of edge cases where an HTML structure is the most obvious way of communicating tables, lists and directories.

Làm thế nào tôi có thể nhận được một số từ nhất định từ một chuỗi trong SQL?

Hàm SQL Server Subring ()..
Trích xuất 3 ký tự từ một chuỗi, bắt đầu ở vị trí 1: Chọn Substring ('Hướng dẫn SQL', 1, 3) làm Trích xuấtString ;.
Trích xuất 5 ký tự từ cột "Tên tùy chỉnh", bắt đầu ở vị trí 1: ....
Trích xuất 100 ký tự từ một chuỗi, bắt đầu ở vị trí 1:.

Làm cách nào để nhận được 5 ký tự đầu tiên của chuỗi trong SQL?

SQL Server fort () hàm bên trái () hàm trích xuất một số ký tự từ một chuỗi (bắt đầu từ trái).LEFT() Function The LEFT() function extracts a number of characters from a string (starting from left).

Làm cách nào để nhận được 3 ký tự đầu tiên của một chuỗi trong SQL?

Bạn có thể sử dụng hàm len () hoặc length () (trong trường hợp của Oracle SQL) để có độ dài của một cột.Chọn Len (Cột_Name) từ Table_Name;Và bạn có thể sử dụng hàm con hoặc hàm con () GO Nhận ba ký tự đầu tiên của một cột.use SUBSTRING or SUBSTR() function go get first three characters of a column.