количество строк в таблице и в представлениях без выбора [дубликаты]

Вы можете использовать \ S

Вместо того, чтобы писать совпадение для «словных символов плюс эти символы», может быть целесообразно использовать регулярное выражение, которое не соответствует пробелу:

\S

Он шире по объему, но проще писать / использовать.

Если это слишком wide - используйте эксклюзивный список, а не список включительно:

[^\s\.]

То есть - любой символ, который не является пробелом и , а не точкой. Таким образом, также легко добавить к исключениям.

Не пытайтесь использовать \ b

Границы Word не работают с символами none-ascii , что легко продемонстрировать:

> "yay".match(/\b.*\b/)
["yay"]
> "γaγ".match(/\b.*\b/)
["a"]

Поэтому невозможно использовать \b для обнаружения слов с греческими символами - каждый символ является совпадающей границей.

Матч 2 символьные слова

Следующая комбинация может использоваться для соответствия двум символьным словам:

pattern = /(^|[\s\.,])(\S{2})(?=$|[\s\.,])/g;

(Точнее: для сопоставления двух последовательностей без пробелов).

То есть:

(^|[\s\.,]) - start of string or whitespace/punctuation (back reference 1)
(\S{2})     - two not-whitespace characters (back reference 2)
($|[\s\.,]) - end of string or whitespace/punctuation (positive lookahead)

Этот шаблон можно использовать так, чтобы удалить соответствующие слова:

"input string".replace(pattern);

Вот jsfiddle , демонстрирующие использование шаблонов в текстах в вопросе.

162
задан kristof 18 September 2009 в 11:27
поделиться

17 ответов

248
ответ дан MikeTheLiar 25 August 2018 в 21:11
поделиться
  • 1
    спасибо marc_s, что действительно должно быть проще управлять – kristof 18 September 2009 в 12:08
  • 2
    Любая идея, почему она отфильтровывает таблицы с именем, начинающимся с & quot; dt & quot ;? Я видел этот скрипт по всей сети, но никаких объяснений по этим критериям. Мы все трогаемся? – Skaue 15 May 2013 в 10:29
  • 3
    @Skaue: если вы установите «Диаграмма базы данных», функциональность в вашу базу данных, тогда у вас будут такие таблицы, как dtProperties и т. д .; поскольку они вл ютс "системой" таблицы, я не хочу сообщать об этом. – marc_s 15 May 2013 в 10:49
  • 4
  • 5
    По какой-то причине этот запрос не возвращает все таблицы. У меня 382 таблицы в базе данных. Но этот запрос возвращает 270 строк (таблица). После удаления условия я получаю 302 строки. Это связано с тем, что некоторые из данных таблиц отсутствуют в одной из таблиц SYS, поэтому соединения не удаляют их. База данных не содержит системных таблиц. – Ankesh Kushwah 17 November 2015 в 12:42
  • 6
    Этот запрос вернет результат строк для каждого индекса в каждой таблице. Добавьте WHERE P.INDEX_ID IN (0,1), чтобы ограничить возвращаемый результат набором в кучи или кластерные индексы только там, где это необходимо. – Rasmus Remmer Bielidt 1 December 2016 в 09:09

Если вы используете SQL Server 2005 и более поздние версии, вы также можете использовать это:

          focus();
        $(window).blur(() => {
           let frame = document.activeElement;
           if (document.activeElement.tagName == "IFRAME") {
             // Do you action.. here  frame has the iframe clicked
              let frameid = frame.getAttribute('id')
              let frameurl = (frame.getAttribute('src'));
           }            
        });

        document.addEventListener("visibilitychange", function () {
            if (document.hidden) {

            } else {
                focus();
            }
        });

На мой взгляд, это легче обрабатывать, чем вывод [f2].

257
ответ дан MikeTheLiar 9 November 2018 в 06:43
поделиться
  • 1
    спасибо marc_s, это действительно должно быть проще в управлении – kristof 18 September 2009 в 12:08
  • 2
    Любая идея, почему он фильтрует таблицы с именем, начинающимся с & quot; dt & quot ;? Я видел этот сценарий по всей сети, но без объяснения этого критерия. Мы все троллим? – Skaue 15 May 2013 в 10:29
  • 3
    @Skaue: если вы установите & quot; Диаграмму базы данных & quot; функциональность в вашу базу данных, тогда у вас будет несколько таблиц, таких как [f1] и т. д .; так как это "система" таблицы, я не хочу сообщать о них. – marc_s 15 May 2013 в 10:49
  • 4
    Возможность префикса имени таблицы с именем схемы в этом сценарии? – gh0st 3 June 2015 в 17:07
  • 5
    По какой-то причине этот запрос не возвращает все таблицы. У меня 382 таблицы в базе данных. Но этот запрос возвращает только 270 строк (информация таблицы). После снятия условия where я получаю 302 строки. Это связано с тем, что некоторые данные таблиц отсутствуют в одной из таблиц SYS, поэтому объединения пропускают их. База данных не содержит системных таблиц. – Ankesh Kushwah 17 November 2015 в 12:42
-1
ответ дан Ben 25 August 2018 в 21:11
поделиться
  • 1
    Привет и приветствуем переполнение стека. Этот ответ идентичен тому, который был годом ранее уже ... нет необходимости публиковать его снова. – Ben 22 June 2014 в 13:37
6
ответ дан Community 25 August 2018 в 21:11
поделиться
  • 1
    Таким образом, это звучит как компромисс использования недокументированной памяти proc sp_msForEachTable и использование системных таблиц, иногда не имеющих самой последней информации. +1 и спасибо за ссылку – kristof 18 September 2009 в 14:17
-1
ответ дан David Poblador i Garcia 25 August 2018 в 21:11
поделиться
  • 1
    он упомянул «sql-server» в своем посте (как тег), который является Microsoft SQL Server – marc_s 18 September 2009 в 11:34
80
ответ дан Erik Anderson 25 August 2018 в 21:11
поделиться
  • 1
    Мне нравится это решение, хотя я бы использовал синтаксис JOIN from sysobjects t inner join sysindexes i on i.id = t.id and i.indid in (0,1) where t.xtype = 'U' – Shnugo 27 October 2017 в 23:14
0
ответ дан foluis 25 August 2018 в 21:11
поделиться
1
ответ дан kristof 25 August 2018 в 21:11
поделиться
1
ответ дан Muhammad Sohail 25 August 2018 в 21:11
поделиться
15
ответ дан petra 25 August 2018 в 21:11
поделиться
  • 1
    Недооцененный подход, это быстро создает сортируемый отчет, показывающий # строки и размер данных. – tbone 30 August 2017 в 00:10
0
ответ дан rchacko 25 August 2018 в 21:11
поделиться
2
ответ дан Rikin Patel 25 August 2018 в 21:11
поделиться
0
ответ дан Shnugo 25 August 2018 в 21:11
поделиться
0
ответ дан sotn 25 August 2018 в 21:11
поделиться
0
ответ дан Steve Ford 25 August 2018 в 21:11
поделиться
1
ответ дан UnionP 25 August 2018 в 21:11
поделиться
1
ответ дан Walter Verhoeven 25 August 2018 в 21:11
поделиться
Другие вопросы по тегам:

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