RFID today is made basically of two standards, being HF (13.56MHz) and UHF (800-900MHz depending if Europe/US)
HF tags usually have one Unique Identifier, called UID, that is 64 bits in size. The UID is usually guaranteed to be unique by the producer of the IC and is read only.
HF tags are usually used for ticketing, anti counterfeiting, brand protection applications. HF tags usually have some user memory too, that can vary from a few bits to usually a maximum of 4Kbits, but special application ICs exist with memory up to 80-90Kbit (i.e. RFID passport chips). It is not common to have to store the contents of this data in an external database, but if you do, you need to know the model of the IC.
UHF tags, on the other hand, usually have a 96 or 128 bit EPC (256 bit EPC models are emerging), that is not generally unique and it is reprogrammable. Each application / system integrator usually programs the EPC according to the needs of the application
UHF tags are mostly used for logistics and tracking and many tags do not have user memory. Some models do have it, but it is usually very limited (128 or 256 bits). Of course there are exceptions.
In most applications you will just receive the UID or EPC of the tag, and you will need to store only that. This usually means that a 64 bit number for UID or a uuid field for EPC should be enough.
Instead of your hack with replace, why not just cast to the right data type? This doesn't need to be nvarchar and the only reason it contains time is because you included too many characters. You can of course apply your replace here as well (or you could do that at the client).
SELECT CONVERT(CHAR(11),GETDATE(),13)
UNION ALL
SELECT CONVERT(CHAR(11), DATEADD(DAY, 10, GETDATE()), 13);
Results:
27 Aug 2012
06 Sep 2012
Best Answer
You should not be concerned on how SQL Server stores the data. For now, you should use the
TIME
data type and if you want the 12 hour format, then convert it in the front end application or duringSELECT
statement usingCAST()
orCONVERT()