SQLで単一行関数(LENGTH)を使ってテーブルから数字の長さを測る方法

このQ&Aのポイント
  • SQLの単一行関数(LENGTH)を使用して、MS Accessのテーブルから数字の長さを測る方法について教えてください。
  • 具体的には、テーブル<学生表>のカラム<数字>の値の長さを取得するために、SELECT文とLENGTH関数を使用する方法を知りたいです。
  • ODBCデータソースアドミニストレータにはMS Access Databaseが登録されているので、アクセスでもODBC スカラー関数を使用できるはずですが、どのようにすれば良いでしょうか。
回答を見る
  • ベストアンサー

accessにおけるSQLで、単一行関数(LENGTH)を使いたいのですが・・

単一行関数(LENGTH)を使ってテーブル<学生表>から、数字の長さを測って結果を返すようにしたのですが・・ <学生表> 学生名    数字 浅井 123456 加藤 1234 佐々木 832465 田中 234567213 内藤 2 花田 231 これから、 select 学生名, length(数字) AS 長さ from 学生表 によって、 学生名    長さ 浅井 6 加藤 4 佐々木 6 田中 9 内藤 1 花田 3 としたいのですが、動作しません。 HELPを検索すると、「ODBC スカラー関数」というのがあって、 アクセスでも使えるようなことが書いてあるのですが、 どのようにしたらよろしいでしょうか。 コントロールパネルから「管理ツール」-「ODBCデータソースアドミニストレータ」-「ユーザーデータソース」には、MS Access Databaseは登録されています。 

質問者が選んだベストアンサー

  • ベストアンサー
noname#60992
noname#60992
回答No.1

sql server とaccessは len をつかってください。 length は oracle,mysql,postgre,db2

maiko100
質問者

お礼

早速回答有難う御座いました。

関連するQ&A

  • javaからAccessをアクセスするときにファイルを直接指定できないのですか?

    JavaでMicrosoft Accessにアクセスするときに以下のプログラムでアクセスしました。 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:DBs"); このプログラムを作成する前にODBC データソース アドミニストレータでデータベースの登録を行いました。 データベース名はデータソース名に拡張子を付けた名前にしました。 ODBC データソース アドミニストレータの登録を行わずにプログラムの中にファイルの場所を記述してMicrosoft Accessにアクセスすることはできないのでしょうか?

  • アクセスで・・・

    アクセスで、テーブルのリンク→ODBC→コンピュータデータソース→新規登録→システムデータソース→SQLServerとして登録したデータソース名を変更したい場合の方法を教えて下さい。 よろしくお願いします。

  • SQLでのCOUNT関数の使い方

    表A           表B 商品ID 数量 価格    商品ID 商品名  ------ ---- ----    ------ ------ 0001   10 1000    0001  万年筆 0002   50 200     0002  ボールペン 0003   25 600     0003  シャーペン 0004   150 2000    0004  文房具セット 0005   20 420     0005  ノート SELECT 数量,価格,商品名,商品ID FROM 表A,表B WHERE 表A.商品ID = 表B.商品ID とやると恐らくこんなような表ができると思います。 商品ID 数量 価格 商品名  ------ ---- ---- ------ 0001  10   1000 万年筆 0002  50   200 ボールペン 0003  25   600 シャーペン 0004  150  2000 文房具セット 0005  20   420 ノート ここで、表の行数を6で割ったときの余りの数を表に追加して全体の行数を6の倍数にしたいと思っています。 (ID 0006として空行を追加) しかし、この表の行数を取得するためにCOUNT関数を使うと思うのですが、使い方が分かりません。 COUNT関数を使うにはGROUP BY句とHAVING句を扱うらしいのですがSELECT句にある列名全部をGROUP BY句に入れないといけないらしく思ったとおりのことが出来ません。 上記のSQLとCOUNT関数を1つのSQLで表の作成と行の行数を得たいと思っています。(ここでは、5行なので5という値を取得したい。) また、最後にどうやって空行を追加すれば良いかも分かりません。 具体的なSQLのソースなど、どなたか分かりましたら、教えてください。

  • アクセスのSUM関数について

    アクセス初心者なのです. 現在,アクセスの学習をしているのですが, 下記の表から  (1) 個人別合計を求める  (2) 3科目合計が180点以下の一覧表を作成する  (3) 科目別平均点の一覧表を作成する この3つを求めるためのSQLがわかりません. ご教授ねがいます. 学生番号 氏名  実用英語 情報科学 DB論 合計 12001 市原 望    70       68 85   12002 今井 忠    50       88 88   12003 内田 肇    75       82 81   12004 桶谷 操    86       94 50   12005 北村 雅史   93       62 68   12006 久野 穂高   69       59 69   12007 久保 貢    70       75 96   12008 久保田 和幸  82       78 59   12009 熊田 陽一   68 91 46   12010 小林 広一 100 48 99   12011 小原 奈美 59 75 98   12012 近藤 正孝 92 91 79   12013 近藤 陽平 49 52 70   12014 佐々木 敦 62 82 60   12015 猿渡 一恵 99 50 91   平均点

  • 空白を見つける!!

    ACCESSにて住所録整理を行っております。 現状 [名前フィールド] 鈴木 一郎    田中 弘 加藤 明     *必ず全角のスペースが入っています 理想 [名前フィールド] [氏]  [名] 鈴木 一郎    鈴木  一郎 田中 弘 田中  弘 加藤 明     加藤  明 これを、それぞれ[氏][名]に分けたいと考えております。 ACCESS VBA でのどの様に空白文字を探し分けるかが思いつきません。 何卒よろしくお願い致したます。

  • Access 番号をつける方法

    お世話になっております。 access2010でクエリに番号を割り振ろうと思っています。 「ID」は昇順に並んでおり、同一の「ID」に対しての連番をつけたいです。 クエリ フィールド名:ID、名前 001 田中 001 佐藤 002 山田 003 鈴木 ☆完成図 フィールド名:番号、ID、名前 1 001 田中 2 001 佐藤 1 002 山田 1 003 鈴木 Accessでもexcelのcount関数を使うことはできるのでしょうか? それとも、DCountを使うのでしょうか? 2つ関数の使い方や、用途の違いがよくわかりません。 ご存知の方教えて下さい。よろしくお願いします。

  • Access Dcount関数で引数が指定できない

    ACCESSのVBAで社内システムを作っています。 Dcount関数の引数1であるフィールド名を指定すると、下記のようなエラーが出てしまいます。 「クエリ式'Count(2A)'の 構文エラー:演算子がありません。」 色々切り分けして以下のような法則を見つけました。 ・フィールド名が数字のみの場合→使用できる ・フィールド名の先頭が数字以外の場合→使用できる ・フィールド名の先頭が数字(全半角共に)の場合→エラー発生 全社システムからACCESSにインポートするデータのフィールド名が「2A」「3A」などの商品コードになっているためこのまま使用したいのですが、手段はありますでしょうか。 ■使用しているツール Microsoft Office Access 2007 よろしくお願いします。

  • Access2007の経過年数を出す関数を教えてください。

    Access2007でフイールドにフイールド名BEGDATEに「yyyy/mm/dd」が書き込んでありもう一つのフイールドにフイールド名ENDDATEに「yyyy/mm/dd」が記録されています。 この「BEGDATEのyyyy/mm/dd」と「ENDDATEのyyyy/mm/dd」の経過年数、月数、日数をたとえば40年5ヶ月10日だとすれば 40.5.10と表示させるにはこれを表示させるボックスのコントロールソースにどのような関数を書いたらよいのでしょうか。 因みにAccess2003時代は=PASSAWAY([BEGDATE],[ENDDATE])と言う簡単な関数で出来ていましたが今これを使うと#NAME?のエラーになってしまいます。

  • AccessでODBC接続できない

    (1)コントロールパネル⇒管理ツール⇒ODBCを選択。 (2)「システムDSN」タブを選択し、「追加」を選択。 (3)ローカルにあるエクセルファイルを選択。データソース名はtest。 (4)Access2003を起動し、テーブルのリンクでODBCを選択し、(3)で作ったtestを選択すると、ODBCを使用して外部MicrosoftJet…のエラーメッセージ。 どなたか解決方法を教えてください。

  • EXCELでACCESSのSwitch関数のような関数はありますか?

    Excel2000を使っています。 たとえばA列に県名、B列に支店名、C列に品名・・・と入っている表があるとします。 品名の種類は10個ですが、それが長い表に繰り返し登場します。 やりたいことは G列に「項番」として、 品名がガムなら「100」チョコなら「250」クッキーなら「400」・・・という風に 品名に与えられた項番を表示させたいのです。 IF文を使えばできるでしょうが10個もあると面倒ですので、たとえばACCESSのSwitch関数のようなものはないでしょうか? それともやはりVLOOKUPを使うのでしょうか? アドバイスをよろしくお願いいたします。