I've created a procedure that converts chracters that I don't want in a certain field in my db.
The problems is: it also converts characters that I haven't specified
For example: the letter y is converted to u (probably because the letter ü (german y) is to be converted to u (ü is pronounced as y)).
Does anyone have a solution for this ? Has soundex something to do with this ?
Regards
Carl Nilsson
Here's a sample of the script:
--script begin
CREATE proc bds_convert_names @pass_name varchar(100), @NameStr varchar(100) OUTPUT
as
-- NAMESTR = Contains the string that should be translated.
SELECT @NameStr = @pass_name
-- Set the name to Lower Cases
SELECT @NameStr = LOWER(@NameStr)
-- Set the characters not allowed
SELECT @NotAllowed = '/:*?"<>|,åäöéèáàûüôî'
-- Set which characters that should replace them
SELECT @IsAllowed = '**********aaoeeaauuoi'
-- Set Loop start to zero
SELECT @Loop = 0
-- Start looping, char by char, replacing direct into NAMESTR
WHILE @Loop < LEN(@NotAllowed)
BEGIN
SELECT @Loop = @Loop + 1
SELECT @OldChar = SUBSTRING(@NotAllowed, @Loop, 1)
SELECT @NewChar = SUBSTRING(@IsAllowed, @Loop, 1)
SELECT @NameStr = REPLACE(@NameStr, @OldChar, @NewChar)
END
-- Remove all stars
SELECT @NameStr = REPLACE(@NameStr, '*', '')
GO
I have a table with a column that is currently a varchar(50), but I want to convert it into an int. When I try to just change the type in design mode I get an error that conversion cannot proceed. When I look at the field it appears some of the entries have special characters appended at the end, I see a box after the value.
How can I remove all speical characters and then convert that field to an int?
Also I tried the following query which did not work as well, same error about conversion.
In my application I must store over 16000 character in a sql table field . When I split into more than 1 field it gives "unclosed quotation mark" message. How can I store over 16000 characters to sql table field (only one field) with language specific characters?
Hi everybody, I would like to know if there is any property in sql2000 database to separate lowercase characters from uppercase characters. I mean not to take the values €˜child€™ and €˜Child€™ as to be the same. We are transferring our ingres database into sqlserver. In ingres we have these values but we consider them as different values. Can we have it in sqlserver too?
Dear Experts,Ok, I hate to ask such a seemingly dumb question, but I'vealready spent far too much time on this. More that Iwould care to admit.In Sql server, how do I simply change a character into a number??????In Oracle, it is:select to_number(20.55)from dualTO_NUMBER(20.55)----------------20.55And we are on with our lives.In sql server, using the Northwinds database:SELECTr.regionid,STR(r.regionid,7,2) as a_string,CONVERT(numeric, STR(r.regionid,7,2)) as a_number,cast ( STR(r.regionid) as int ) as cast_to_numberFROM REGION R1 1.00112 2.00223 3.00334 4.0044SELECTr.regionid,STR(r.regionid,7,2) as a_string,CONVERT(numeric, STR(r.regionid,7,2) ) as a_number,cast (STR(r.regionid,7,2) as numeric ) as cast_to_numberFROM REGION R1 1.00112 2.00223 3.00334 4.0044Str converts from number to string in one motion.Isn't there a simple function in Sql Server to convertfrom string to number?What is the secret?Thanks
We are trying to build a FAQ in a SQL database that will be updateble trough the web.
Now to the questione: We can't use more than 255 characters, in Books Online it says that char and varchar supports 1 to 8000 characters but it doesn't work for us.
I have a field oh phone numbers that had no specific format. I have removed all of the previous formatting so know there are just a string of 10 numbers and I want them all to change to "(###) ###-####". Is there an SQL statement that I can use to update the field in a batch process. Any help would be great. I also have linked the tables to an access db, if that makes it easier. Any help is much appreciated.
Hi, I am Suhasini. While saving data from front end(Asp.net) to back end(Sql server 2005 express edition) i am getting junk characters also added to the database. This character just look like a checkbox. Basically i am adding options using a multiline text box, is there any thing wrong with that. options are saved in the database as junk character followed by option1...... etc. Kindly suggest me on this.
I have a varchar(10) field in one of the sql2005 table. most of the data will be in the format of
xxxxx{yyyyy} zzzz{eeeeee} like above values i am storing into the column. Now i want to use only the value which is inside the brackets { }. Values inside the brackets are not fixed length but allways we use the brackets.
Please let me know if you have any idea.
I tried using the right(value,4).,.. but this is only for the fixed size. but like i said my situation is different length.please let me know if you have any idea.
Ok.. I inhertited a program that has columns called cpt_codes, cpt_to, and cpt_from all of them are varchar fields. The user can input a cpt code and the program checks to see if it fall between cpt_to and cpt_from so00101 would fall betwen 00100 and 00110. The problem these are varchars so the user has a code 0024t and is pulling up between 00100 and 01999 which is techinically correct. However thats not where it's supposed to be. Is there a way to get around this? the sql statement currently in place is:SELECT * fROM CPT_TOS WHERE CPT_FROM <= '0024T' AND CPT_TO >= '0024T'*Not my sql statement or design!!" ThanksRobert.
I must be doing something wrong, but I cannot imagine what it could be. I made a brand new table and started to enter some data. I am putting the initail data in using Enterprise Manager. This is essentially test data for development. I have several varchar columns set to 8000 for their size. When I try to enter text into them it is getting truncated at 999 characters. I thought that maybe I misunderstood the varchar type and that 1000 characters is 8000 bits and that is what the 8000 means. So, I redid the table with the datatype "text" for my long columns. Same thing. It is being truncated at 999. Is there something I am missing here? I am not trying to do anything tricky or confusing, I am simply trying to put more than 1000 characters into a table column.I should mention that I have been pasting the text that is copied from Notepad (to remove any extranous formatting). The text cuts cut off and I cannot even type in the column after that.Any clues would really be appreciated.
Previously I had a problem inserting symbols like an umlaut into a SQL7 DB. The umlaut symbol like in the name [Björk] was translated into [Bj÷rk] when the data was bcp'd in. I was able to solve this problem by changing the registry codepage setting for the "OEMCP" from '437' to '1252'.
Fine...but now i have problems with symbols like [é] in the name [Mel Tormé]. The [é] on [Tormé] is changing to [T].....[Mel TormT].
Is there any way of accomidating SQL7 to allow both types of symbols?
We just upgraded to SQL 7.0 SP2. We enlarged one of our fields from varchar(255) to varchar(500), but when I do a SELECT on the field it only brings back 255. I know this was a limitation in ISQL in 6.5. I tried it in query analyzer and also via a command line. Any ideas how to see all the data?
Hi all, this might be a very simple query for most of you guys. What I need help in is that I need to find out records that have a specific number of character within it. For example if a field is 8 char long but there are records that are 3 char long or 4 char long, I need to find those records.
I have a table named users. It consists of user names, user ids, etc... The problem is that whoever designed the ASP code before me allowed people to enter info in any format they want. This poses a problem because now the name can have 1, 2, or sometimes 3 spaces in between the last and first names. And sometimes the middle initial is used with a period following it. This creates problems when I am trying to execute a Select statement since it won't match if there are an unknown number of spaces in the string and throws an error when a period is used.
Is there a SQL query I can execute to change all the user_names into a format such as the following: LastName, FirstName MiddleInitial
Like I said, it is already almost the same, just has too many spaces and some have periods after the middle initial
Hello everyone. I have a query where I pull all item_codes that start with a 7. I need all the item_codes that start with 7, but I need to subtract the last 3 characters from only the item_codes that are not 71860kit or 71851nggun. How would I be able to accomplish this. What I have below subtracts the last 3 characters from all item_codes including 71860kit and 71851nggun. I want these two to stay in tact when I select them in the query.
This is the Query that I have now!
select datepart(year, date_cust_invoice)as INV_YEAR, datepart(month, date_cust_invoice)as INV_MONTH, item_code=left(item_code, len(item_code)-3) , sum(QTY_SALES)as QTY_SALES_TOTALS, sum(SALES_VAL)as SALES_VAL_TOTALS from opcsahf where datepart(year, date_cust_invoice) >= '2003' and substring(item_code, 1, 1) = '7' group by datepart(year, date_cust_invoice), datepart(month, date_cust_invoice), item_code order by inv_year, inv_month, item_code
I am incorporating a perl script loading data into my SQL Server. If I receive a message with a single backslash I know to replace it with a double backslash \. But what if it is a " double quote what do I need to do to get it to appear as is?
Does anyone know a function in SQL or how I can get the amount of characters of a field?
I have a column named NU_IPS wich contains data varchar type, that has a % symbol at the end, like 9.7% and so on... But in original table it can't be like this (it has to bem float type), I just want the number content, like this 9.7 For that I need in DTS put a query that convert it. That's why I need a function or something that can get the quantity of characters of each field.
So, It would be someting like this...
select substring(convert(varchar(getSizeField() - 1), nu_ipi), 1, 4) from dbo.t_STAGEAREACHAIR
It would cut always the last caracter, wich is '%'...
everytime i want to query for any of tbl_c_? that contain a specific value i have to reference all 25 in my query. is there a better way? I cannot change the table.
I want to strip off the last three characters from an item number. The only thing is tht every item number is not the same lenght. The last three characters of this number are packing codes that I do not need. Fore example I can have all these numbers:
Hi, Data in the table appearing with strange characters [probably unicode]. For instance obeserve the string [marked in red color] "Rod. Anhang�era s/n§". When I export the same to excel and apply language as portuguese it shows properly. The actual portuguese languguage has ascents in the sentence. This where the problem is seen.
I wanted to display them back in normal form could please suggest me the best possible way to cast such characters.