Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.




2 posts

Wannabe Geek


#60231 22-Apr-2010 14:21
Send private message

Hi there

I need to count the number of records in a table where there are more than three alpha characters in a specific field.

So if there were two records :

Record 1 : Field=OT12/12BV
Record 2 : Field=OT12/12B

and I ran the query, the count would be 1 - as the first record has four alpha characters in the field and the second record has three alpha characters in the field.

I have searched for other questions like this but I guess it is an unusual one as I can't find anyone trying to do exactly this.

Note: the count is for characters A - Z - not special characters.

Any help would be appreciated.

Create new topic
352 posts

Ultimate Geek


  #321777 22-Apr-2010 17:35
Send private message

You're going to hate this:

select * from MyTable where
Len(MyField) - Len(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(MyField, "A", ""), "B", ""), "C", ""), "D", ""), "E", ""), "F", ""), "G", ""), "H", ""), "I", ""), "J", ""), "K", ""), "L", ""), "M", ""), "N", ""), "O", ""), "P", ""), "Q", ""), "R", ""), "S", ""), "T", ""), "U", ""), "V", ""), "W", ""), "X", ""), "Y", ""), "Z", "")) > 3

I hate it too. Oracle SQL has a translate function that makes this quite a lot shorter.



2 posts

Wannabe Geek


#321907 23-Apr-2010 07:41
Send private message

lol - yeah that really is ugly huh? Will give it a go.

 
 
 
 


352 posts

Ultimate Geek


  #321910 23-Apr-2010 07:46
Send private message

another way is to cartesian join the table with a number table (single column table, where each row is a number in sequence, 1 to 1000), then use an ASC function on MID to return 1 if the ascii code is between 65 and [whatever code for Z] or 0 if it's not A-Z, then sum the result.
it would be quite a lot shorter, but not as easy to understand, from a maintenance standpoint.


Create new topic




News »

Freeview On Demand app launches on Sony Android TVs
Posted 6-Aug-2020 13:35


UFB hits more than one million connections
Posted 6-Aug-2020 09:42


D-Link A/NZ extends COVR Wi-Fi EasyMesh System series with new three-pack
Posted 4-Aug-2020 15:01


New Zealand software Rfider tracks coffee from Colombia all the way to New Zealand businesses
Posted 3-Aug-2020 10:35


Logitech G launches Pro X Wireless gaming headset
Posted 3-Aug-2020 10:21


Sony Alpha 7S III provides supreme imaging performance
Posted 3-Aug-2020 10:11


Sony introduces first CFexpress Type A memory card
Posted 3-Aug-2020 10:05


Marsello acquires Goody consolidating online and in-store marketing position
Posted 30-Jul-2020 16:26


Fonterra first major customer for Microsoft's New Zealand datacentre
Posted 30-Jul-2020 08:07


Everything we learnt at the IBM Cloud Forum 2020
Posted 29-Jul-2020 14:45


Dropbox launches native HelloSign workflow and data residency in Australia
Posted 29-Jul-2020 12:48


Spark launches 5G in Palmerston North
Posted 29-Jul-2020 09:50


Lenovo brings speed and smarter features to new 5G mobile gaming phone
Posted 28-Jul-2020 22:00


Withings raises $60 million to enable bridge between patients and healthcare
Posted 28-Jul-2020 21:51


QNAP integrates Catalyst Cloud Object Storage into Hybrid Backup solution
Posted 28-Jul-2020 21:40



Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.


Support Geekzone »

Our community of supporters help make Geekzone possible. Click the button below to join them.

Support Geezone on PressPatron



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.