I have to check the string with the following scenarios in WHERE condition.

The data ProductId stored in the database can be like 

`7314-3337` sometimes with - symbol and not prefixed with 19

`73143337` sometimes without symbol and not prefixed with 19

`1973143337` correct format

`197314-3337` sometimes with - symbol

I need to filter the record ProductId and the input is correct format , i.e 1973143337

```
WHERE P.ProductId=@ProductId 

```

How can i filter it if the data stored in other 3 formats? 

How to use the string replace(-) and prefix 19 if not exists in SQL server?