Question: I need to store an CARD ID number in Database. So there is no calculation just a search of the ID and putting the value in Session as property in a class.

The is ID is always numeric and it's 12 positions.
e.g. 123456789012 and I would like to show on the screen in this format. 123.456.789.012 (every 3 digit a dot).

I tried a test and defined Decimal(12,0) in database and I have put this value in database: 555666777888

then I try to display on the screen I used this code (CardID is decimal):

```
  lblCardID.Text = ent.CardID.ToString("0:#,###")

```

but it shows on the screen like this: **555,666,77:7,888** 

where is the **colon (:)** coming from? 

question additional:
- What type shall use in MS SQL to store this value in Database. Decimal (12,0) or Nvarchar(12) ?

Answer: 
Try writing 

```
lblCardID.Text = ent.CardID.ToString("#,###")

```

You can user the `decimal(12,0)` or the `bigint` datatype. `bigint` requires one byte less (8 bytes total) per stored value.
Does your identifier's domain have matematical properties, other than being composed of digits? If not, your value is fixed width, so use `CHAR(12)`. Do not forget to add appropriate domain checks (no characters other than digits, no leading zero, etc) e.g. 

```
CREATE TABLE Cards 
(
 card_ID CHAR(12) NOT NULL
    UNIQUE
    CONSTRAINT card_ID__all_digits 
       CHECK (card_ID NOT LIKE '%[^0-9]%'), 
    CONSTRAINT card_ID__no_leading_zero
       CHECK (card_ID NOT LIKE '[1-9]%)')
);

```