@PaulWhite I just took closer look at what your deterministic RemoveNonNumericCharacters() function for 2017+ is doing, and that's pretty smart. Translating the fixed list of characters you do want, so you can use the output to re-translate out the potentially infinite list of stuff you don't want. 👏 Awesome!
I am going to carry 25 Pounds (2* 10 Pounds note + 1* coin of 2 Pound + 3 * coin of 1 Pound) with me on a flight to UK.
I don't have any receipt for this money. What questions I might face at immigration because of this?
@PaulWhite In this table swap, is it possible that new rows can go in the old table during the transaction, or is a table lock automatically going to happen due to the drop and rename later in the steps (assuming I wrap the whole thing in a transaction)?
@J.D. It makes string operations a lot faster when binary comparison is all that is needed. The full Unicode comparison rules are powerful but expensive
@CadeRoux Yes it is possible. Locks are taken as needed, not in advance.
So if concurrent inserts to the old table are possible you'd need to account for those before dropping 😀
@PaulWhite Yeah, is there a simple way to force that? Otherwise, I need to make it clear in the instructions for them to stop the service.
Meaning our OLTP system's service while they do the maintenance.
Like if I put WITH (TABLOCK) on the source table in the SELECT is that lock going to stay on the whole transaction or is it going to be released right before the DROP?
Seems like I need to ensure the isolation level is serializable.