Nano Hash - криптовалюты, майнинг, программирование

Как ссылаться на таблицу SQL Server через имя библиотеки SAS с дефисом в имени

Я пытаюсь использовать Proc Sql для запроса таблицы в базе данных SQL-сервера с именем Code_07-12_dim. SAS интерпретирует дефис как другое значение, и следующий код возвращает ошибку:

proc sql;
SELECT * FROM lib1.Code_07-12_dim;
quit;

Вывод журнала:

ERROR 22-322: Syntax error, expecting one of the following: a name, ;, (, ',', ANSIMISS, AS, CROSS, EXCEPT, FULL, GROUP, HAVING, INNER, INTERSECT, JOIN, LEFT, NATURAL, NOMISS, ORDER, OUTER, RIGHT, UNION, WHERE.

ERROR 200-322: The symbol is not recognized and will be ignored

Как я могу сослаться на эту таблицу? Обратите внимание, что SQL-сервером управляет другой отдел, и хотя я намерен упрекнуть их за использование дефисов в именах таблиц, я не могу изменить имя таблицы.

sas
25.07.2014

  • Я думаю, что это отвечает на ваш вопрос stackoverflow .com/questions/3168644/ 25.07.2014
  • @double_j Это вопрос, относящийся к SAS. Простое заключение имени таблицы в кавычки здесь не работает. Я изменил название вопроса, чтобы быть более конкретным. 25.07.2014
  • @Patrick Неправильно включать SAS, как вы сделали в заголовок; для этого и нужны теги (несмотря на то, что некоторые люди, кажется, не могут их прочитать). Я отредактировал разрешенный компромиссный заголовок (SAS в порядке в середине, но не в начале). 25.07.2014
  • Я удивлен, что он позволил тебе это сделать, тбх; в новом вопросе этот заголовок будет отклонен (или должен быть!) 25.07.2014
  • Не уверен, кто продолжает голосовать за закрытие - это явно не дубликат справочного вопроса, который касается именно MySQL, а не SAS. 25.07.2014
  • К сожалению, он находится в очереди резюме, и его будут просматривать люди, которые мало что знают об этом, поэтому он может быть закрыт; если так, то мы должны быть в состоянии открыть его снова. 25.07.2014

Ответы:


1

Вы должны уметь использовать:

proc sql;
 SELECT * FROM lib1.'Code_07-12_dim'n;
quit;

Это называется «литерал имени» и представляет собой версию квадратных скобок SAS, обычно используемую в других местах.

Возможно, вам также понадобится опция options validmemname=any;.

25.07.2014
  • Это идеально. Спасибо! 25.07.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..