Могу ли я использовать специальные символы в имени столбца в таблице данных SQL Server и C # - PullRequest
3 голосов
/ 07 июня 2019

У меня есть сомнения, могу ли я использовать специальные символы %, $, +, -, # в имени столбца таблицы SQL Server и в таблице данных C #?

Я пытался создать таблицу с этими символами в SQL Server, таблица создана, но я хочу знать, возможно ли это или нет?

Ответы [ 3 ]

5 голосов
/ 07 июня 2019

Как объяснено, вы можете это сделать, поскольку имя столбца находится в квадратных скобках, но не рекомендуется использовать пробелы и специальные символы в именах столбцов.

CREATE TABLE [TABLE1] (ID UNIQUEIDENTIFIER, [% Column1] INT, [$ Column2] INT, [+ Column3] 
INT, [- Column4] INT, [# Column5] INT);

INSERT INTO [TABLE1] (ID, [% Column1], [$ Column2], [+ Column3], [- Column4], [# Column5])
VALUES ('8C012194-5D8A-4A58-B225-F33F60875499',1, 2, 3, 4, 5)

Если вы используете Entity Framework, вы можете отобразитьваш столбец для вашего класса модели, как это:

[Table("Table1")]
public class Test 
{
  public Guid Id { get; set; }

  [Column("% Column1")]
  public int Column1 { get; set; }

  [Column("$ Column2")]
  public int Column2 { get; set; }

  [Column("+ Column3")]
  public int Column3 { get; set; }

  [Column("- Column4")]
  public int Column4 { get; set; }

  [Column("# Column5")]
  public int Column5 { get; set; }

}
2 голосов
/ 07 июня 2019

Azure sql поддерживает эти специальные символы в имени столбца.

Поскольку тип столбца типа SQL Server nvarchar (128).enter image description here

Вы можете получить эту форму этого документа: КОЛОННЫ (Transact-SQL)

Для C #, как сказал Мукеш Куди, выследует использовать [] скобки.

Например, если вы хотите выбрать столбец со специальным символом '#', код должен выглядеть следующим образом:

var rows = dt.Select("","[#]");

Вы можете сослаться на этот блог: Как получить доступстолбец со специальными символами с использованием DataTable.Select ()?

Надеюсь, это поможет.

0 голосов
/ 07 июня 2019

Добро пожаловать в SO, Вы можете иметь имя столбца со специальным символом или пробелом, но вы должны использовать

квадратная скобка []

для доступа к этим столбцам.

например.

Table
%ID
1
2
3


Select [%ID] from Table

Для получения дополнительной информации о правилах имен столбцов и таблиц для MSSQL Server вы можете проверить msdn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...