Сохранение вычисленного столбца даты и времени в SQL Server 2005

Хорошо, я наконец понял это. Я надеюсь, что это будет полезно для других. Эта функция будет извлекать 20 последних сообщений, включая время создания:

// npm i request cheerio request-promise-native
const rp = require('request-promise-native'); // requires installation of `request`
const cheerio = require('cheerio');

function GetFbPosts(pageUrl) {
    const requestOptions = {
        url: pageUrl,
        headers: {
            'User-Agent': 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0'
        }
    };
    return rp.get(requestOptions).then( postsHtml => {
        const $ = cheerio.load(postsHtml);
        const timeLinePostEls = $('.userContent').map((i,el)=>$(el)).get();
        const posts = timeLinePostEls.map(post=>{
            return {
                message: post.html(),
                created_time: post.parents('.userContentWrapper').find('.timestampContent').html()
            }
        });
        return posts;
    });
}
GetFbPosts('https://www.facebook.com/pg/officialstackoverflow/posts/').then(posts=>{
    // Log all posts
    for (const post of posts) {
        console.log(post.created_at, post.message);
    }
});

Поскольку сообщения Facebook могут иметь сложное форматирование, это не простой текст, а HTML. Но вы можете удалить форматирование и просто получить текст, заменив message: post.html() на message: post.text().

5
задан neaorin 29 October 2008 в 12:58
поделиться

1 ответ

Что относительно:

CREATE FUNCTION [dbo].[fComputeValue] (@data XML)
RETURNS varchar(50)
WITH SCHEMABINDING
AS
BEGIN
  RETURN @data.value('(/Metadata/Value[@Key="StartDate"])[1]', 'varchar(50)')
END

и:

ALTER TABLE dbo.CustomMetadataTable ADD [StartDate] AS (convert(datetime,([dbo].[fComputeValue]([CustomMetadataColumn]), 127)) PERSISTED

или:

return convert(datetime, @data.value('(/Metadata/Value[@Key="StartDate"])[1]', 'varchar(50)'), 127)

Из книг онлайн:

CONVERT Детерминировано, если одно из этих условий не существует:

Исходный тип является sql_variant.

Целевой тип является sql_variant, и его исходный тип недетерминирован.

Источник или целевой тип являются датой и временем или smalldatetime, другой источник или целевой тип являются символьной строкой, и указан недетерминированный стиль. Чтобы быть детерминированным, параметр стиля должен быть константой. Кроме того, разрабатывает меньше чем или равный 100, недетерминированы, за исключением стилей 20 и 21. Стили, больше, чем 100, детерминированы, за исключением стилей 106, 107, 109 и 113.

Могло бы помочь, используете ли Вы CONVERT со стилем 127

7
ответ дан 14 December 2019 в 09:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: